undefined4 FUN_00405608(void *param_1)
{
uint *puVar1;
int *piVar2;
undefined4 uVar3;
ssize_t sVar4;
int iVar5;
uint uVar6;
uint uVar7;
uint uVar8;
uint uVar9;
socklen_t local_30;
sockaddr local_2c;
undefined4 local_1c;
local_2c.sa_data[2] = '\0';
local_2c.sa_data[3] = '\0';
local_2c.sa_data[4] = '\0';
local_2c.sa_data[5] = '\0';
local_2c.sa_data[6] = '\0';
local_2c.sa_data[7] = '\0';
local_2c.sa_data[8] = '\0';
local_2c.sa_data[9] = '\0';
local_2c.sa_data[10] = '\0';
local_2c.sa_data[0xb] = '\0';
local_2c.sa_data[0xc] = '\0';
local_2c.sa_data[0xd] = '\0';
local_1c = 0;
local_2c.sa_family = 0;
local_2c.sa_data[0] = '\0';
local_2c.sa_data[1] = '\0';
local_30 = 0x14;
sVar4 = recvfrom(*(int *)(g_conf + 0x40),param_1,*(size_t *)(g_conf + 0x3c),0,&local_2c,&local_30) //possible issue identified - semgrep
;
uVar3 = local_2c.sa_data._2_4_;
iVar5 = g_conf;
if (sVar4 == -1) {
dolog(3,"Couldn\'t Read from RAW Socket\n");
return 0;
}
if (local_2c.sa_data._6_2_ != 0x304) {
if (local_2c.sa_data[8] != '\x04') {
puVar1 = (uint *)(g_conf + 0x60);
piVar2 = (int *)(g_conf + 100);
uVar6 = *(uint *)(g_conf + 0x50) + 1;
uVar8 = *puVar1 + sVar4;
*(uint *)(g_conf + 0x54) = (uint)(uVar6 < *(uint *)(g_conf + 0x50)) + *(int *)(g_conf + 0x54);
*(uint *)(iVar5 + 100) = (uint)(uVar8 < *puVar1) + *piVar2 + (sVar4 >> 0x1f);
*(uint *)(iVar5 + 0x50) = uVar6;
*(uint *)(iVar5 + 0x60) = uVar8;
iVar5 = int_find(local_2c.sa_data._2_4_);
if (iVar5 == 0) {
iVar5 = int_create(uVar3);
if (iVar5 == 0) {
dolog(7,"Couldn\'t find interface link %u\n",uVar3);
return 1;
}
FUN_00402080(iVar5,0);
}
uVar6 = *(uint *)(iVar5 + 0x58);
uVar8 = *(uint *)(iVar5 + 0x68);
uVar7 = uVar6 + 1;
uVar9 = uVar8 + sVar4;
*(uint *)(iVar5 + 0x58) = uVar7;
*(uint *)(iVar5 + 0x5c) = (uint)(uVar7 < uVar6) + *(int *)(iVar5 + 0x5c);
*(uint *)(iVar5 + 0x68) = uVar9;
*(uint *)(iVar5 + 0x6c) = (uint)(uVar9 < uVar8) + *(int *)(iVar5 + 0x6c) + (sVar4 >> 0x1f);
FUN_004055e0(iVar5,param_1,sVar4,
((ushort)local_2c.sa_data._0_2_ & 0xff) << 8 |
(uint)((ushort)local_2c.sa_data._0_2_ >> 8));
}
}
return 1;
}