void FUN_00404260(int param_1,int param_2)
{
ssize_t sVar1;
int iVar2;
char *__fmt;
undefined4 uVar3;
undefined1 auStack_1010 [4096];
if (*(int *)(param_2 + 0x10) != 0) {
sloop_cancel_timeout(*(int *)(param_2 + 0x10));
}
*(undefined4 *)(param_2 + 0x10) = 0;
sVar1 = recv(param_1,auStack_1010,0xfff,0) //possible issue identified - semgrep
if (sVar1 < 0) {
uVar3 = *(undefined4 *)(*(int *)(param_2 + 0x18) + 8);
__fmt = "recv() error from server \'%s\'\n";
}
else {
iVar2 = *(int *)(param_2 + 0x18);
if (sVar1 != 0) {
auStack_1010[sVar1] = 0;
(**(code **)(iVar2 + 0x14))(param_2,auStack_1010,sVar1);
goto LAB_0040433c;
}
uVar3 = *(undefined4 *)(iVar2 + 8);
__fmt = "Connection disconnected by server - \'%s\'";
}
syslog(4,__fmt,uVar3);
*(undefined4 *)(param_2 + 0x38) = 3;
FUN_004026ec(param_2);
LAB_0040433c:
*(undefined4 *)(param_2 + 0xc) = 0;
close(*(int *)(param_2 + 8));
*(undefined4 *)(param_2 + 8) = 0xffffffff;
return;
}