uint arpping(int param_1,int param_2,uint *param_3,char *param_4)

{
  undefined1 *puVar1;
  undefined1 uVar2;
  uint *puVar3;
  timeval *__timeout;
  uint __fd;
  int iVar4;
  uint uVar5;
  uint uVar6;
  __fd_mask *p_Var7;
  int iVar8;
  ssize_t sVar9;
  int *piVar10;
  undefined4 *__optval;
  uint uVar11;
  long lVar12;
  uint uVar13;
  undefined4 local_158;
  timeval local_154;
  sockaddr local_14c;
  undefined4 local_13c;
  undefined1 auStack_136 [4];
  undefined1 local_132;
  undefined1 local_131;
  undefined2 local_130;
  undefined2 local_12e;
  undefined2 local_12c;
  undefined1 local_12a;
  undefined1 local_129;
  short local_128;
  undefined1 auStack_126 [4];
  undefined1 local_122;
  undefined1 local_121;
  int local_120;
  undefined1 auStack_11c [6];
  int local_116;
  sysinfo local_100;
  uint local_c0 [32];
  int local_40;
  uint local_3c;
  timeval *local_38;
  undefined4 *local_34;
  undefined1 *local_30;
  
  local_158 = 1;
  __fd = socket(0x11,10,0x608);
  if (__fd == 0xffffffff) {
    local_3c = 0xffffffff;
  }
  else {
    __optval = &local_158;
    iVar4 = setsockopt(__fd,0xffff,0x20,__optval,4);
    local_34 = &local_13c;
    if (iVar4 == -1) {
      close(__fd);
      local_3c = 0xffffffff;
    }
    else {
      memset(local_34,0,0x3c)   //possible issue identified - semgrep
      uVar6 = (int)param_3 + 3U & 3;
      uVar5 = *param_3;
      uVar13 = (uint)param_3 & 3;
      uVar11 = (*(int *)(((int)param_3 + 3U) - uVar6) << (3 - uVar6) * 8 |
               (uint)__optval & 0xffffffffU >> (uVar6 + 1) * 8) & -1 << (4 - uVar13) * 8 |
               *(uint *)((int)param_3 - uVar13) >> uVar13 * 8;
      puVar1 = auStack_136 + 3;
      uVar6 = (uint)puVar1 & 3;
      *(uint *)(puVar1 + -uVar6) =
           *(uint *)(puVar1 + -uVar6) & -1 << (uVar6 + 1) * 8 | uVar5 >> (3 - uVar6) * 8;
      uVar13 = param_3[1];
      uVar2 = *(undefined1 *)((int)param_3 + 5);
      uVar6 = (uint)auStack_136 & 3;
      puVar3 = (uint *)(auStack_136 + -uVar6);
      *puVar3 = *puVar3 & 0xffffffffU >> (4 - uVar6) * 8 | uVar5 << uVar6 * 8;
      local_40 = param_2;
      puVar1 = auStack_126 + 3;
      uVar6 = (uint)puVar1 & 3;
      *(uint *)(puVar1 + -uVar6) =
           *(uint *)(puVar1 + -uVar6) & -1 << (uVar6 + 1) * 8 | uVar11 >> (3 - uVar6) * 8;
      *(undefined2 *)(local_34 + 1) = 0xffff;
      local_13c = 0xffffffff;
      local_130 = 0x608;
      local_131 = uVar2;
      uVar6 = (uint)auStack_126 & 3;
      puVar3 = (uint *)(auStack_126 + -uVar6);
      *puVar3 = *puVar3 & 0xffffffffU >> (4 - uVar6) * 8 | uVar11 << uVar6 * 8;
      local_12c = 8;
      local_12a = 6;
      local_128 = 0x100   //possible issue identified - semgrep
      local_129 = 4;
      local_12e = 0x100;
      local_14c.sa_data[2] = '\0';
      local_14c.sa_data[3] = '\0';
      local_14c.sa_data[4] = '\0';
      local_14c.sa_data[5] = '\0';
      local_14c.sa_data[6] = '\0';
      local_14c.sa_data[7] = '\0';
      local_14c.sa_data[8] = '\0';
      local_14c.sa_data[9] = '\0';
      local_14c.sa_data[10] = '\0';
      local_14c.sa_data[0xb] = '\0';
      local_14c.sa_data[0xc] = '\0';
      local_14c.sa_data[0xd] = '\0';
      local_14c.sa_family = 0;
      local_14c.sa_data[0] = '\0';
      local_14c.sa_data[1] = '\0';
      local_132 = (char)uVar13;
      local_122 = (char)uVar13;
      local_121 = uVar2;
      local_120 = param_2;
      local_116 = param_1;
      local_40 = param_1;
      strcpy(local_14c.sa_data,param_4)   //possible issue identified - semgrep
      uVar6 = sendto(__fd,local_34,0x3c,0,&local_14c,0x10);
      local_3c = ~uVar6 >> 0x1f;
      local_154.tv_usec = 0;
      sysinfo(&local_100);
      uVar6 = __fd >> 5;
      uVar13 = 1 << (__fd & 0x1f);
      iVar4 = 2;
      local_38 = &local_154;
      local_30 = auStack_11c;
      p_Var7 = (__fd_mask *)local_c0;
      lVar12 = local_100.uptime;
      do {
        do {
          __timeout = local_38;
          *p_Var7 = 0;
          p_Var7 = p_Var7 + 1;
        } while (&local_40 != p_Var7);
        local_c0[uVar6] = local_c0[uVar6] | uVar13;
        local_154.tv_sec = iVar4;
        iVar8 = select(__fd + 1,(fd_set *)local_c0,(fd_set *)0x0,(fd_set *)0x0,__timeout);
        if (iVar8 < 0) {
          piVar10 = __errno_location();
          if (*piVar10 != 4) {
            local_3c = 0;
          }
        }
        else if ((uVar13 & local_c0[uVar6]) != 0) {
          sVar9 = recv(__fd,local_34,0x3c,0)   //possible issue identified - semgrep
          if (sVar9 < 0) {
            local_3c = 0;
          }
          if (local_128 == 0x200) {
            iVar8 = memcmp(local_30,param_3,6);
            if ((iVar8 == 0) && (param_1 == local_34[7])) {
              local_3c = 0;
              break;
            }
          }
        }
        sysinfo(&local_100);
        iVar4 = (iVar4 + lVar12) - local_100.uptime   //possible issue identified - semgrep
        sysinfo(&local_100);
        p_Var7 = (__fd_mask *)local_c0;
        lVar12 = local_100.uptime;
      } while (0 < iVar4);
      close(__fd);
    }
  }
  return local_3c;
}