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;
}