void FUN_0041d0dc(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_0041d214;
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_0041d214:
fflush(param_2);
return;
}