/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

undefined4 gethostip_main(int param_1,undefined4 *param_2)

{
  bool bVar1;
  int iVar2;
  hostent *phVar3;
  byte *pbVar4;
  char *pcVar5;
  int iVar6;
  uint uVar7;
  undefined4 uVar8;
  char acStack_70 [16];
  char acStack_60 [48];
  char *local_30;
  uint local_2c;
  
  DAT_00422a30 = *param_2;
  uVar7 = 0;
  bVar1 = false;
  while (iVar2 = getopt_long(param_1,param_2,"dxfnDh6",&PTR_s_hexadecimal_00422014,0), iVar2 != -1)   //possible issue identified - semgrep
  {
    if (iVar2 == 0x66) {
      uVar7 = 7;
    }
    else if (iVar2 < 0x67) {
      if (iVar2 == 0x44) {
        uVar7 = 8;
      }
      else if (iVar2 == 100) {
        uVar7 = uVar7 | 2;
      }
      else {
        uVar8 = 0x40;
        if (iVar2 == 0x36) {
          bVar1 = true;
        }
        else {
LAB_00404750:
          FUN_00404610(uVar8);
        }
      }
    }
    else if (iVar2 == 0x6e) {
      uVar7 = uVar7 | 1;
    }
    else {
      if (iVar2 != 0x78) {
        uVar8 = 0;
        if (iVar2 != 0x68) {
          uVar8 = 0x40;
        }
        goto LAB_00404750;
      }
      uVar7 = uVar7 | 4;
    }
  }
  if (_optind == param_1) {
    FUN_00404610(0x40);
  }
  if (uVar7 == 0) {
    uVar7 = 7;
  }
  local_2c = uVar7 & 1;
  uVar8 = 0;
  param_2 = param_2 + _optind;
  local_30 = acStack_60;
  iVar2 = _optind;
  do {
    if (param_1 <= iVar2) {
      return uVar8;
    }
    if (bVar1) {
      phVar3 = gethostbyname2((char *)*param_2,10);
    }
    else {
      phVar3 = gethostbyname((char *)*param_2);
    }
    if (phVar3 == (hostent *)0x0) {
      uVar8 = 1;
      herror((char *)*param_2);
    }
    else {
      if (bVar1) {
        memset(local_30,0,0x2e)   //possible issue identified - semgrep
        pcVar5 = inet_ntop(10,*phVar3->h_addr_list,local_30,0x2e)   //possible issue identified - semgrep
        printf("%s",pcVar5);
      }
      else {
        if ((phVar3->h_addrtype != 2) || (phVar3->h_length != 4)) {
          fprintf(_stderr,"%s: No IPv4 address associated with name\n",*param_2);
          uVar8 = 1;
          goto LAB_00404a90;
        }
        pcVar5 = "";
        if (local_2c != 0) {
          printf("%s%s","",phVar3->h_name);
          pcVar5 = " ";
        }
        if ((uVar7 & 2) != 0) {
          pbVar4 = (byte *)*phVar3->h_addr_list;
          sprintf(acStack_70,"%u.%u.%u.%u",(uint)*pbVar4,(uint)pbVar4[1],(uint)pbVar4[2],
                  (uint)pbVar4[3])   //possible issue identified - semgrep
          printf("%s%s",pcVar5,acStack_70);
          pcVar5 = " ";
        }
        if ((uVar7 & 4) != 0) {
          pbVar4 = (byte *)*phVar3->h_addr_list;
          printf("%s%08lX",pcVar5,
                 (uint)pbVar4[3] + (uint)*pbVar4 * 0x1000000 + (uint)pbVar4[1] * 0x10000 +
                 (uint)pbVar4[2] * 0x100);
          pcVar5 = " ";
        }
        iVar6 = 0;
        if (uVar7 == 8) {
          while( true ) {
            pbVar4 = *(byte **)((int)phVar3->h_addr_list + iVar6);
            iVar6 = iVar6 + 4;
            if (pbVar4 == (byte *)0x0) break;
            sprintf(acStack_70,"%u.%u.%u.%u",(uint)*pbVar4,(uint)pbVar4[1],(uint)pbVar4[2],
                    (uint)pbVar4[3])   //possible issue identified - semgrep
            printf("%s%s",pcVar5,acStack_70);
            pcVar5 = " ";
          }
        }
      }
      fputc(10,_stdout);
    }
LAB_00404a90:
    iVar2 = iVar2 + 1;
    param_2 = param_2 + 1;
  } while( true );
}