void FUN_0040affc(uint param_1,FILE *param_2)

{
  int iVar1;
  size_t sVar2;
  __fd_mask *p_Var3;
  __fd_mask *__s;
  __fd_mask *p_Var4;
  uint uVar5;
  __fd_mask local_4a8 [31];
  char acStack_429 [1029];
  
  uVar5 = 1 << (param_1 & 0x1f);
  p_Var4 = local_4a8 + (param_1 >> 5);
  p_Var3 = local_4a8;
  while( true ) {
    do {
      do {
        *p_Var3 = 0;
        __s = p_Var3 + 1;
        p_Var3 = __s;
      } while (__s != (__fd_mask *)(acStack_429 + 1));
      *p_Var4 = *p_Var4 | uVar5;
      iVar1 = select(param_1 + 1,(fd_set *)local_4a8,(fd_set *)0x0,(fd_set *)0x0,(timeval *)0x0);
      p_Var3 = local_4a8;
    } while ((iVar1 < 0) || ((uVar5 & *p_Var4) == 0));
    sVar2 = read(param_1,__s,0x400)   //possible issue identified - semgrep
    if ((int)sVar2 < 1) goto LAB_0040b134;
    if (acStack_429[sVar2] == '\0') break;
    fwrite(acStack_429 + 1,1,sVar2,param_2);
  }
  sVar2 = strlen((char *)__s);
  fwrite(__s,1,sVar2,param_2);
LAB_0040b134:
  fflush(param_2);
  return;
}