
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

address_list * lookup_host(char *host,int flags)

{
  int iVar1;
  sockaddr *psVar2;
  _Bool _Var3;
  size_t sVar4;
  char *pcVar5;
  int iVar6;
  uint uVar7;
  address_list *value;
  ip_address *piVar8;
  ip_address *piVar9;
  int *piVar10;
  char *pcVar11;
  void *__ptr;
  int iVar12;
  _func_int_void_ptr_void_ptr *cmpfun;
  uint unaff_EBP;
  addrinfo *paVar13;
  uint uVar14;
  char *pcVar15;
  addrinfo *paVar16;
  int in_GS_OFFSET;
  bool bVar17;
  int local_80;
  double local_74;
  char local_65;
  uint local_64;
  addrinfo *res;
  gaiwt_context ctx;
  addrinfo hints;
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  local_74 = opt.dns_timeout;
  uVar14 = flags & 1;
  sVar4 = strlen(host);
  pcVar5 = host + sVar4;
  if (host < pcVar5) {
    iVar6 = 0;
    bVar17 = false;
    iVar12 = 0;
    pcVar11 = host;
    do {
      while( true ) {
        pcVar15 = pcVar11 + 1;
        unaff_EBP = (int)*pcVar11 - 0x30;
        if (unaff_EBP < 10) break;
        bVar17 = (bool)(bVar17 & *pcVar11 == 0x2e ^ 1U | iVar6 == 4);
        if (bVar17) goto LAB_0002b710;
        iVar12 = 0;
        pcVar11 = pcVar15;
        if (pcVar5 == pcVar15) goto LAB_0002b6f2;
      }
      iVar12 = unaff_EBP + iVar12 * 10;
      if (0xff < iVar12) goto LAB_0002b710;
      if (!bVar17) {
        iVar6 = iVar6 + 1;
        if (4 < iVar6) goto LAB_0002b710;
        bVar17 = true;
      }
      pcVar11 = pcVar15;
    } while (pcVar5 != pcVar15);
LAB_0002b6f2:
    if (iVar6 < 4) goto LAB_0002b710;
    _Var3 = true;
    local_65 = '\0';
    local_80._0_1_ = '\0';
  }
  else {
LAB_0002b710:
    _Var3 = is_valid_ipv6_address(host,pcVar5);
    if (_Var3) {
      local_65 = '\0';
      local_80._0_1_ = '\0';
    }
    else {
      local_65 = opt.dns_cache;
      if ((flags & 2U) == 0) {
        if (opt.dns_cache != false) {
          if ((flags & 4U) == 0) {
            if ((host_name_addresses_map != (hash_table *)0x0) &&
               (value = (address_list *)hash_table_get(host_name_addresses_map,host),
               value != (address_list *)0x0)) {
              if (opt.debug != false) {
                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);
              }
              value->refcount = value->refcount + 1;
              goto LAB_0002bafc;
            }
          }
          else if ((host_name_addresses_map != (hash_table *)0x0) &&
                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)) {
            iVar12 = *(int *)((int)__ptr + 0x10) + -1;
            bVar17 = opt.debug == false;
            *(int *)((int)__ptr + 0x10) = iVar12;
            if (bVar17) {
              if (iVar12 < 1) {
LAB_0002bed2:
                free(*(void **)((int)__ptr + 4));
                free(__ptr);
              }
            }
            else {
              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);
              if (*(int *)((int)__ptr + 0x10) < 1) {
                if (opt.debug != false) {
                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);
                }
                goto LAB_0002bed2;
              }
            }
            hash_table_remove(host_name_addresses_map,host);
          }
        }
      }
      else {
        local_65 = '\0';
      }
      local_80._0_1_ = (char)(~flags & 1U);
      if ((~flags & 1U) == 0) {
        _Var3 = false;
      }
      else {
        pcVar5 = host;
        if ((opt.enable_iri == false) || (pcVar11 = idn_decode(host), pcVar11 == (char *)0x0)) {
          pcVar15 = (char *)0x0;
        }
        else {
          pcVar15 = aprintf("%s (%s)",pcVar11,host);
          free(pcVar11);
          if (pcVar15 != (char *)0x0) {
            pcVar5 = pcVar15;
          }
        }
        pcVar5 = quotearg_style(escape_quoting_style,pcVar5);
        pcVar11 = (char *)dcgettext(0,"Resolving %s... ",5);
        logprintf(LOG_VERBOSE,pcVar11,pcVar5);
        free(pcVar15);
      }
    }
  }
  ctx.hints = &hints;
  uVar7 = 0;
  do {
    *(undefined4 *)((int)&(ctx.hints)->ai_flags + uVar7) = 0;
    uVar7 = uVar7 + 4;
  } while (uVar7 < 0x20);
  hints.ai_socktype = 1;
  if (opt.ipv4_only == false) {
    if (opt.ipv6_only != false) {
      hints.ai_family = 10;
    }
  }
  else {
    hints.ai_family = 2;
  }
  iVar12 = 4;
  if ((flags & 2U) != 0) {
    hints.ai_flags = 1;
    iVar12 = 5;
  }
  if (_Var3 != false) {
    local_74 = 0.0;
    hints.ai_flags = iVar12;
  }
  ctx.service = (char *)0x0;
  ctx.node = host;
  ctx.res = &res;
  _Var3 = run_with_timeout(local_74,getaddrinfo_with_timeout_callback,&ctx);
  paVar16 = res;
  if (_Var3) {
    piVar10 = __errno_location();
    *piVar10 = 0x6e;
    if (uVar14 == 0) {
      iVar12 = 0x6e;
LAB_0002bcca:
      pcVar5 = rpl_strerror(iVar12);
LAB_0002bcf9:
      pcVar11 = (char *)dcgettext(0,"failed: %s.\n",5);
      logprintf(LOG_VERBOSE,pcVar11,pcVar5);
    }
  }
  else {
    local_64 = ctx.exit_code;
    if (ctx.exit_code == 0) {
      if (res != (addrinfo *)0x0) {
        iVar12 = 0;
        paVar13 = res;
        do {
          piVar10 = &paVar13->ai_family;
          paVar13 = paVar13->ai_next;
          iVar12 = iVar12 + (uint)((*piVar10 & 0xfffffff7U) == 2);
        } while (paVar13 != (addrinfo *)0x0);
        if (iVar12 == 0) {
          freeaddrinfo((addrinfo *)res);
          pcVar5 = (char *)dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);
          logprintf(LOG_VERBOSE,pcVar5);
          value = (address_list *)0x0;
          goto LAB_0002bafc;
        }
        value = (address_list *)xcalloc(1,0x14);
        piVar8 = (ip_address *)xmalloc(iVar12 * 0x18);
        value->count = iVar12;
        value->addresses = piVar8;
        value->refcount = 1;
        do {
          while (paVar16->ai_family != 10) {
            piVar9 = piVar8;
            if (paVar16->ai_family == 2) {
              psVar2 = paVar16->ai_addr;
              piVar9 = piVar8 + 1;
              piVar8->family = 2;
              (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2);
            }
            paVar16 = paVar16->ai_next;
            piVar8 = piVar9;
            if (paVar16 == (addrinfo *)0x0) goto LAB_0002b8a8;
          }
          psVar2 = paVar16->ai_addr;
          paVar16 = paVar16->ai_next;
          piVar8->family = 10;
          (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 6);
          *(undefined4 *)((int)&piVar8->data + 4) = *(undefined4 *)(psVar2->sa_data + 10);
          *(undefined4 *)((int)&piVar8->data + 8) = *(undefined4 *)(psVar2 + 1);
          iVar12 = *(int *)(psVar2[1].sa_data + 6);
          *(undefined4 *)((int)&piVar8->data + 0xc) = *(undefined4 *)(psVar2[1].sa_data + 2);
          piVar8->ipv6_scope = iVar12;
          piVar8 = piVar8 + 1;
        } while (paVar16 != (addrinfo *)0x0);
LAB_0002b8a8:
        freeaddrinfo((addrinfo *)res);
        if ((1 < value->count) && (opt.prefer_family != AP_DECODE_ENTITIES)) {
          cmpfun = cmp_prefer_ipv4;
          if (opt.prefer_family != CSSEOF) {
            cmpfun = cmp_prefer_ipv6;
          }
          stable_sort(value->addresses,value->count,0x18,cmpfun);
        }
        if ((char)local_80 != '\0') {
          local_80 = value->count;
          if ((opt.show_all_dns_entries == true) || (local_80 < 4)) {
            if (0 < local_80) {
              iVar12 = local_80 + -1;
              if (0 < iVar12) goto LAB_0002b927;
              iVar6 = 0;
              goto LAB_0002bb53;
            }
          }
          else {
            local_80 = 3;
            iVar12 = 2;
LAB_0002b927:
            if (local_80 < iVar12) {
              iVar12 = local_80;
            }
            iVar6 = 0;
            do {
              pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,
                                 buf_6806,0x40);
              if (pcVar5 == (char *)0x0) {
                piVar10 = __errno_location();
                pcVar5 = rpl_strerror(*piVar10);
                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);
              }
              iVar6 = iVar6 + 1;
              logputs(LOG_VERBOSE,buf_6806);
              logputs(LOG_VERBOSE,", ");
            } while (iVar6 < iVar12);
            if (iVar6 < local_80) {
LAB_0002bb53:
              do {
                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,
                                   buf_6806,0x40);
                if (pcVar5 == (char *)0x0) {
                  piVar10 = __errno_location();
                  pcVar5 = rpl_strerror(*piVar10);
                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);
                }
                iVar6 = iVar6 + 1;
                logputs(LOG_VERBOSE,buf_6806);
              } while (iVar6 < local_80);
            }
            if (value->count != local_80) {
              logputs(LOG_VERBOSE,", ...");
            }
          }
          logputs(LOG_VERBOSE,"\n");
        }
        if (local_65 != '\0') {
          if (host_name_addresses_map == (hash_table *)0x0) {
            host_name_addresses_map = make_nocase_string_hash_table(0);
          }
          value->refcount = value->refcount + 1;
          pcVar5 = xstrdup_lower(host);
          hash_table_put(host_name_addresses_map,pcVar5,value);
          if (opt.debug != false) {
            debug_logprintf("Caching %s =>",host);
            if (0 < value->count) {
              iVar12 = 0;
              do {
                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,
                                          &value->addresses[iVar12].data,buf_6806,0x40),
                      host = buf_6806, pcVar5 != (char *)0x0) {
                  iVar12 = iVar12 + 1;
                  debug_logprintf(" %s",buf_6806);
                  if (value->count <= iVar12) goto LAB_0002bc5a;
                }
                piVar10 = __errno_location();
                iVar12 = iVar12 + 1;
                pcVar5 = rpl_strerror(*piVar10);
                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);
                debug_logprintf(" %s",buf_6806);
              } while (iVar12 < value->count);
            }
LAB_0002bc5a:
            debug_logprintf("\n",host);
          }
        }
        goto LAB_0002bafc;
      }
      local_64 = uVar14;
      if (uVar14 == 0) goto LAB_0002bce8;
    }
    else if (uVar14 == 0) {
      if (ctx.exit_code == -0xb) {
        piVar10 = __errno_location();
        iVar12 = *piVar10;
        goto LAB_0002bcca;
      }
LAB_0002bce8:
      pcVar5 = gai_strerror(local_64);
      goto LAB_0002bcf9;
    }
  }
  value = (address_list *)0x0;
LAB_0002bafc:
  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return value;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int * FUN_0002b620(char *param_1,uint param_2)

{
  sockaddr *psVar1;
  char cVar2;
  size_t sVar3;
  char *pcVar4;
  int iVar5;
  uint uVar6;
  undefined4 uVar7;
  int *piVar8;
  undefined4 *puVar9;
  undefined4 *puVar10;
  int *piVar11;
  undefined4 uVar12;
  void *pvVar13;
  int iVar14;
  code *pcVar15;
  uint unaff_EBP;
  addrinfo *paVar16;
  char *pcVar17;
  uint uVar18;
  char *pcVar19;
  addrinfo *paVar20;
  int in_GS_OFFSET;
  bool bVar21;
  int local_80;
  undefined8 local_74;
  char local_65;
  uint local_64;
  addrinfo *local_58;
  char *local_54;
  undefined4 local_50;
  undefined4 *local_4c;
  addrinfo **local_48;
  uint local_44;
  undefined4 local_40 [8];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x2b629;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_74 = DAT_000b6b60;
  uVar18 = param_2 & 1;
  sVar3 = strlen(param_1);
  pcVar4 = param_1 + sVar3;
  if (param_1 < pcVar4) {
    iVar5 = 0;
    bVar21 = false;
    iVar14 = 0;
    pcVar17 = param_1;
    do {
      while( true ) {
        pcVar19 = pcVar17 + 1;
        unaff_EBP = (int)*pcVar17 - 0x30;
        if (unaff_EBP < 10) break;
        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);
        if (bVar21) goto LAB_0002b710;
        iVar14 = 0;
        pcVar17 = pcVar19;
        if (pcVar4 == pcVar19) goto LAB_0002b6f2;
      }
      iVar14 = unaff_EBP + iVar14 * 10;
      if (0xff < iVar14) goto LAB_0002b710;
      if (!bVar21) {
        iVar5 = iVar5 + 1;
        if (4 < iVar5) goto LAB_0002b710;
        bVar21 = true;
      }
      pcVar17 = pcVar19;
    } while (pcVar4 != pcVar19);
LAB_0002b6f2:
    if (iVar5 < 4) goto LAB_0002b710;
    cVar2 = '\x01';
    local_65 = '\0';
    local_80._0_1_ = '\0';
  }
  else {
LAB_0002b710:
    cVar2 = FUN_0002b3f0(param_1,pcVar4);
    if (cVar2 == '\0') {
      local_65 = DAT_000b6ac4;
      if ((param_2 & 2) == 0) {
        if (DAT_000b6ac4 != '\0') {
          if ((param_2 & 4) == 0) {
            if ((DAT_000b14e0 != 0) &&
               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {
              if (DAT_000b6b9b != '\0') {
                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);
              }
              piVar8[4] = piVar8[4] + 1;
              goto LAB_0002bafc;
            }
          }
          else if ((DAT_000b14e0 != 0) &&
                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {
            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;
            bVar21 = DAT_000b6b9b == '\0';
            *(int *)((int)pvVar13 + 0x10) = iVar14;
            if (bVar21) {
              if (iVar14 < 1) {
LAB_0002bed2:
                free(*(void **)((int)pvVar13 + 4));
                free(pvVar13);
              }
            }
            else {
              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);
              if (*(int *)((int)pvVar13 + 0x10) < 1) {
                if (DAT_000b6b9b != '\0') {
                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);
                }
                goto LAB_0002bed2;
              }
            }
            FUN_0002acb0(DAT_000b14e0,param_1);
          }
        }
      }
      else {
        local_65 = '\0';
      }
      local_80._0_1_ = (char)(~param_2 & 1);
      if ((~param_2 & 1) == 0) {
        cVar2 = '\0';
      }
      else {
        pcVar4 = param_1;
        if ((DAT_000b6c42 == '\0') ||
           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {
          pcVar17 = (char *)0x0;
        }
        else {
          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);
          free(pvVar13);
          if (pcVar17 != (char *)0x0) {
            pcVar4 = pcVar17;
          }
        }
        uVar7 = FUN_00061a80(7,pcVar4);
        uVar12 = dcgettext(0,"Resolving %s... ",5);
        FUN_0003df30(0,uVar12,uVar7);
        free(pcVar17);
      }
    }
    else {
      local_65 = '\0';
      local_80._0_1_ = '\0';
    }
  }
  local_4c = local_40;
  uVar6 = 0;
  do {
    *(undefined4 *)((int)local_4c + uVar6) = 0;
    uVar6 = uVar6 + 4;
  } while (uVar6 < 0x20);
  local_40[2] = 1;
  if (DAT_000b6c3a == '\0') {
    if (DAT_000b6c3b != '\0') {
      local_40[1] = 10;
    }
  }
  else {
    local_40[1] = 2;
  }
  uVar7 = 4;
  if ((param_2 & 2) != 0) {
    local_40[0] = 1;
    uVar7 = 5;
  }
  if (cVar2 != '\0') {
    local_74 = 0;
    local_40[0] = uVar7;
  }
  local_50 = 0;
  local_54 = param_1;
  local_48 = &local_58;
  cVar2 = FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54);
  paVar20 = local_58;
  if (cVar2 == '\0') {
    local_64 = local_44;
    if (local_44 == 0) {
      if (local_58 != (addrinfo *)0x0) {
        iVar14 = 0;
        paVar16 = local_58;
        do {
          piVar8 = &paVar16->ai_family;
          paVar16 = paVar16->ai_next;
          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);
        } while (paVar16 != (addrinfo *)0x0);
        if (iVar14 == 0) {
          freeaddrinfo(local_58);
          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);
          FUN_0003df30(0,uVar7);
          piVar8 = (int *)0x0;
          goto LAB_0002bafc;
        }
        piVar8 = (int *)FUN_00062f90(1,0x14);
        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);
        *piVar8 = iVar14;
        piVar8[1] = (int)puVar9;
        piVar8[4] = 1;
        do {
          while (paVar20->ai_family != 10) {
            puVar10 = puVar9;
            if (paVar20->ai_family == 2) {
              psVar1 = paVar20->ai_addr;
              puVar10 = puVar9 + 6;
              *puVar9 = 2;
              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);
            }
            paVar20 = paVar20->ai_next;
            puVar9 = puVar10;
            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;
          }
          psVar1 = paVar20->ai_addr;
          paVar20 = paVar20->ai_next;
          *puVar9 = 10;
          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);
          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);
          puVar9[3] = *(undefined4 *)(psVar1 + 1);
          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);
          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);
          puVar9[5] = uVar7;
          puVar9 = puVar9 + 6;
        } while (paVar20 != (addrinfo *)0x0);
LAB_0002b8a8:
        freeaddrinfo(local_58);
        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {
          pcVar15 = FUN_0002b0d0;
          if (DAT_000b6c3c != 0) {
            pcVar15 = FUN_0002b0f0;
          }
          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);
        }
        if ((char)local_80 != '\0') {
          local_80 = *piVar8;
          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {
            if (0 < local_80) {
              iVar14 = local_80 + -1;
              if (0 < iVar14) goto LAB_0002b927;
              iVar5 = 0;
              goto LAB_0002bb53;
            }
          }
          else {
            local_80 = 3;
            iVar14 = 2;
LAB_0002b927:
            if (local_80 < iVar14) {
              iVar14 = local_80;
            }
            iVar5 = 0;
            do {
              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);
              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);
              if (pcVar4 == (char *)0x0) {
                piVar11 = __errno_location();
                uVar7 = FUN_0007a3a0(*piVar11);
                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);
              }
              iVar5 = iVar5 + 1;
              FUN_0003daf0(0,&DAT_000b14a0);
              FUN_0003daf0(0,&DAT_000862b1);
            } while (iVar5 < iVar14);
            if (iVar5 < local_80) {
LAB_0002bb53:
              do {
                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);
                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);
                if (pcVar4 == (char *)0x0) {
                  piVar11 = __errno_location();
                  uVar7 = FUN_0007a3a0(*piVar11);
                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);
                }
                iVar5 = iVar5 + 1;
                FUN_0003daf0(0,&DAT_000b14a0);
              } while (iVar5 < local_80);
            }
            if (*piVar8 != local_80) {
              FUN_0003daf0(0,&DAT_000862b4);
            }
          }
          FUN_0003daf0(0,"\n");
        }
        if (local_65 != '\0') {
          if (DAT_000b14e0 == 0) {
            DAT_000b14e0 = FUN_0002aff0(0);
          }
          piVar8[4] = piVar8[4] + 1;
          uVar7 = FUN_0004f740(param_1);
          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);
          if (DAT_000b6b9b != '\0') {
            FUN_0003e2e0("Caching %s =>",param_1);
            if (0 < *piVar8) {
              iVar14 = 0;
              do {
                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),
                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),
                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {
                  iVar14 = iVar14 + 1;
                  FUN_0003e2e0(" %s",&DAT_000b14a0);
                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;
                }
                piVar11 = __errno_location();
                iVar14 = iVar14 + 1;
                uVar7 = FUN_0007a3a0(*piVar11);
                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);
                FUN_0003e2e0(" %s",&DAT_000b14a0);
              } while (iVar14 < *piVar8);
            }
LAB_0002bc5a:
            FUN_0003e2e0("\n",param_1);
          }
        }
        goto LAB_0002bafc;
      }
      local_64 = uVar18;
      if (uVar18 == 0) goto LAB_0002bce8;
    }
    else if (uVar18 == 0) {
      if (local_44 == 0xfffffff5) {
        piVar8 = __errno_location();
        iVar14 = *piVar8;
        goto LAB_0002bcca;
      }
LAB_0002bce8:
      pcVar4 = gai_strerror(local_64);
      goto LAB_0002bcf9;
    }
  }
  else {
    piVar8 = __errno_location();
    *piVar8 = 0x6e;
    if (uVar18 == 0) {
      iVar14 = 0x6e;
LAB_0002bcca:
      pcVar4 = (char *)FUN_0007a3a0(iVar14);
LAB_0002bcf9:
      uVar7 = dcgettext(0,"failed: %s.\n",5);
      FUN_0003df30(0,uVar7,pcVar4);
    }
  }
  piVar8 = (int *)0x0;
LAB_0002bafc:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0007ad20();
  }
  return piVar8;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x000190b0
ADD EBX,0x835a7
SUB ESP,0x88
MOV EAX,dword ptr [ESP + 0x9c]
MOV dword ptr [ESP + 0x1c],EAX
MOV EDI,EAX
LEA ECX,[EBX + 0x7e70]
MOV ESI,dword ptr GS:[0x14]
MOV dword ptr [ESP + 0x78],ESI
XOR ESI,ESI
FLD qword ptr [ECX + 0x120]
MOV ESI,dword ptr [ESP + 0xa0]
MOV dword ptr [ESP + 0x20],ECX
AND ESI,0x1
MOV dword ptr [ESP + 0x34],ESI
FSTP qword ptr [ESP + 0x24]
PUSH EAX
CALL 0x000168c0
ADD ESP,0x10
MOV ESI,dword ptr [ESP + 0x94]
ADD EAX,EDI
AND ESI,0x2
MOV dword ptr [ESP + 0xc],EAX
MOV dword ptr [ESP + 0x20],ESI
CMP EDI,EAX
JNC 0x0002b710
MOV ESI,EDI
XOR EAX,EAX
XOR EDX,EDX
XOR ECX,ECX
JMP 0x0002b6c6
LEA ECX,[ECX + ECX*0x4]
LEA ECX,[EBP + ECX*0x2]
CMP ECX,0xff
JG 0x0002b710
TEST DL,DL
JNZ 0x0002b6c0
ADD EAX,0x1
CMP EAX,0x4
JG 0x0002b710
MOV EDX,0x1
CMP dword ptr [ESP + 0xc],ESI
JZ 0x0002b6f2
ADD ESI,0x1
MOVSX EDI,byte ptr [ESI + -0x1]
LEA EBP,[EDI + -0x30]
CMP EBP,0x9
JBE 0x0002b6a0
CMP EDI,0x2e
SETZ CL
AND EDX,ECX
XOR EDX,0x1
CMP EAX,0x4
SETZ CL
OR DL,CL
JNZ 0x0002b710
XOR ECX,ECX
CMP dword ptr [ESP + 0xc],ESI
JNZ 0x0002b6c6
CMP EAX,0x3
JLE 0x0002b710
MOV ESI,0x1
MOV byte ptr [ESP + 0x27],0x0
MOV byte ptr [ESP + 0xc],0x0
JMP 0x0002b738
SUB ESP,0x8
PUSH dword ptr [ESP + 0x14]
MOV EDI,dword ptr [ESP + 0x1c]
PUSH EDI
CALL 0x0002b3f0
ADD ESP,0x10
MOV ESI,EAX
TEST AL,AL
JZ 0x0002b9c8
MOV byte ptr [ESP + 0x27],0x0
MOV byte ptr [ESP + 0xc],0x0
LEA EDX,[ESP + 0x4c]
XOR ECX,ECX
XOR EAX,EAX
MOV dword ptr [EDX + EAX*0x1],ECX
ADD EAX,0x4
CMP EAX,0x20
JC 0x0002b740
MOV EAX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x54],0x1
CMP byte ptr [EAX + 0x1fa],0x0
JNZ 0x0002ba58
CMP byte ptr [EAX + 0x1fb],0x0
JZ 0x0002b775
MOV dword ptr [ESP + 0x50],0xa
MOV ECX,dword ptr [ESP + 0x20]
MOV EAX,0x4
TEST ECX,ECX
JZ 0x0002b78f
MOV dword ptr [ESP + 0x4c],0x1
MOV EAX,0x5
MOV ECX,ESI
TEST CL,CL
JZ 0x0002b79f
MOV dword ptr [ESP + 0x4c],EAX
FLDZ
FSTP qword ptr [ESP + 0x18]
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x3c],0x0
MOV dword ptr [ESP + 0x40],EDX
MOV dword ptr [ESP + 0x38],EAX
LEA EAX,[ESP + 0x34]
MOV dword ptr [ESP + 0x44],EAX
LEA EAX,[ESP + 0x38]
PUSH EAX
LEA EAX,[EBX + 0xfff7c540]
PUSH EAX
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x24]
CALL 0x00053f80
ADD ESP,0x10
TEST AL,AL
JNZ 0x0002be73
MOV EAX,dword ptr [ESP + 0x48]
MOV dword ptr [ESP + 0x2c],EAX
TEST EAX,EAX
JNZ 0x0002bcb0
MOV ESI,dword ptr [ESP + 0x34]
TEST ESI,ESI
JZ 0x0002bce0
XOR EDI,EDI
MOV EBP,ESI
NOP
MOV EAX,dword ptr [EBP + 0x4]
MOV EBP,dword ptr [EBP + 0x1c]
AND EAX,0xfffffff7
CMP EAX,0x2
SETZ AL
MOVZX EAX,AL
ADD EDI,EAX
TEST EBP,EBP
JNZ 0x0002b800
TEST EDI,EDI
JZ 0x0002bc78
SUB ESP,0x8
PUSH 0x14
PUSH 0x1
CALL 0x00062f90
MOV EBP,EAX
LEA EAX,[EDI + EDI*0x2]
SHL EAX,0x3
MOV dword ptr [ESP],EAX
CALL 0x00062e50
MOV dword ptr [EBP],EDI
ADD ESP,0x10
MOV dword ptr [EBP + 0x4],EAX
MOV dword ptr [EBP + 0x10],0x1
JMP 0x0002b86f
CMP EDX,0x2
JNZ 0x0002b868
MOV EDX,dword ptr [ESI + 0x14]
ADD EAX,0x18
MOV dword ptr [EAX + -0x18],0x2
MOV EDX,dword ptr [EDX + 0x4]
MOV dword ptr [EAX + -0x14],EDX
MOV ESI,dword ptr [ESI + 0x1c]
TEST ESI,ESI
JZ 0x0002b8a8
MOV EDX,dword ptr [ESI + 0x4]
CMP EDX,0xa
JNZ 0x0002b850
MOV EDX,dword ptr [ESI + 0x14]
MOV ESI,dword ptr [ESI + 0x1c]
MOV dword ptr [EAX],0xa
ADD EAX,0x18
MOV ECX,dword ptr [EDX + 0x8]
MOV dword ptr [EAX + -0x14],ECX
MOV ECX,dword ptr [EDX + 0xc]
MOV dword ptr [EAX + -0x10],ECX
MOV ECX,dword ptr [EDX + 0x10]
MOV dword ptr [EAX + -0xc],ECX
MOV ECX,dword ptr [EDX + 0x14]
MOV EDX,dword ptr [EDX + 0x18]
MOV dword ptr [EAX + -0x8],ECX
MOV dword ptr [EAX + -0x4],EDX
TEST ESI,ESI
JNZ 0x0002b86f
SUB ESP,0xc
PUSH dword ptr [ESP + 0x40]
CALL 0x000161a0
MOV EAX,dword ptr [EBP]
ADD ESP,0x10
CMP EAX,0x1
JLE 0x0002b8ee
MOV ECX,dword ptr [ESP + 0x14]
MOV EDX,dword ptr [ECX + 0x1fc]
CMP EDX,0x2
JZ 0x0002b8ee
TEST EDX,EDX
LEA ECX,[EBX + 0xfff7c520]
LEA EDX,[EBX + 0xfff7c500]
CMOVNZ EDX,ECX
PUSH EDX
PUSH 0x18
PUSH EAX
PUSH dword ptr [EBP + 0x4]
CALL 0x00054860
ADD ESP,0x10
CMP byte ptr [ESP + 0xc],0x0
JZ 0x0002baf1
MOV ECX,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [EBP]
CMP byte ptr [ECX + 0x20e],0x1
MOV dword ptr [ESP + 0xc],EAX
JZ 0x0002bd78
CMP EAX,0x3
JLE 0x0002bd78
MOV dword ptr [ESP + 0xc],0x3
MOV EAX,0x2
MOV ESI,dword ptr [ESP + 0xc]
CMP EAX,ESI
CMOVG EAX,ESI
XOR EDI,EDI
LEA ESI,[EBX + 0x28d0]
MOV dword ptr [ESP + 0x18],EAX
LEA EAX,[EBX + 0xfffd76e1]
MOV dword ptr [ESP + 0x20],EAX
LEA EAX,[EBX + 0xfffd76c4]
MOV dword ptr [ESP + 0x28],EAX
JMP 0x0002b980
SUB ESP,0x8
PUSH ESI
ADD EDI,0x1
PUSH 0x0
CALL 0x0003daf0
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x28]
PUSH 0x0
CALL 0x0003daf0
ADD ESP,0x10
CMP EDI,dword ptr [ESP + 0x18]
JGE 0x0002bb20
MOV EDX,dword ptr [EBP + 0x4]
LEA EAX,[EDI + EDI*0x2]
PUSH 0x40
PUSH ESI
LEA EAX,[EDX + EAX*0x8]
LEA EDX,[EAX + 0x4]
PUSH EDX
PUSH dword ptr [EAX]
CALL 0x00016090
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0002b958
CALL 0x00016080
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x0007a3a0
POP ECX
POP EDX
PUSH EAX
PUSH dword ptr [ESP + 0x34]
PUSH 0x40
PUSH 0x1
PUSH 0x40
PUSH ESI
CALL 0x00016da0
ADD ESP,0x18
JMP 0x0002b95b
MOV EAX,dword ptr [ESP + 0x14]
MOV EDX,dword ptr [ESP + 0x20]
MOVZX EAX,byte ptr [EAX + 0x84]
MOV byte ptr [ESP + 0x27],AL
TEST EDX,EDX
JZ 0x0002ba68
MOV byte ptr [ESP + 0x27],0x0
MOV EAX,dword ptr [ESP + 0x94]
NOT EAX
AND EAX,0x1
MOV byte ptr [ESP + 0xc],AL
JZ 0x0002bf0e
MOV EAX,dword ptr [ESP + 0x14]
CMP byte ptr [EAX + 0x202],0x0
JNZ 0x0002bd28
MOV EAX,dword ptr [ESP + 0x10]
XOR EBP,EBP
SUB ESP,0x8
PUSH EAX
PUSH 0x7
CALL 0x00061a80
ADD ESP,0xc
MOV EDI,EAX
LEA EAX,[EBX + 0xfffd76d0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000166c0
ADD ESP,0xc
PUSH EDI
PUSH EAX
PUSH 0x0
CALL 0x0003df30
MOV dword ptr [ESP],EBP
CALL 0x00016670
ADD ESP,0x10
JMP 0x0002b738
MOV dword ptr [ESP + 0x50],0x2
JMP 0x0002b775
TEST AL,AL
JZ 0x0002b9e8
MOV EAX,dword ptr [EBX + 0x2910]
TEST byte ptr [ESP + 0x94],0x4
JNZ 0x0002bda0
TEST EAX,EAX
JZ 0x0002b9e8
SUB ESP,0x8
PUSH EDI
PUSH EAX
CALL 0x0002a8d0
ADD ESP,0x10
MOV EBP,EAX
TEST EAX,EAX
JZ 0x0002b9e8
MOV EAX,dword ptr [ESP + 0x14]
CMP byte ptr [EAX + 0x15b],0x0
JNZ 0x0002beed
ADD dword ptr [EBP + 0x10],0x1
JMP 0x0002bafc
MOV EAX,dword ptr [ESP + 0xc]
CMP dword ptr [EBP],EAX
JZ 0x0002badd
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd76e4]
PUSH EAX
PUSH 0x0
CALL 0x0003daf0
ADD ESP,0x10
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd6dbf]
PUSH EAX
PUSH 0x0
CALL 0x0003daf0
ADD ESP,0x10
CMP byte ptr [ESP + 0x27],0x0
JNZ 0x0002bba0
MOV ESI,dword ptr [ESP + 0x6c]
XOR ESI,dword ptr GS:[0x14]
MOV EAX,EBP
JNZ 0x0002bf09
ADD ESP,0x7c
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP EDI,dword ptr [ESP + 0xc]
JGE 0x0002bac0
LEA EAX,[EBX + 0xfffd76c4]
MOV dword ptr [ESP + 0x18],EAX
JMP 0x0002bb53
SUB ESP,0x8
PUSH ESI
ADD EDI,0x1
PUSH 0x0
CALL 0x0003daf0
ADD ESP,0x10
CMP EDI,dword ptr [ESP + 0xc]
JGE 0x0002bac0
MOV EDX,dword ptr [EBP + 0x4]
LEA EAX,[EDI + EDI*0x2]
PUSH 0x40
PUSH ESI
LEA EAX,[EDX + EAX*0x8]
LEA EDX,[EAX + 0x4]
PUSH EDX
PUSH dword ptr [EAX]
CALL 0x00016090
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0002bb38
CALL 0x00016080
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x0007a3a0
POP EDX
POP ECX
PUSH EAX
PUSH dword ptr [ESP + 0x24]
PUSH 0x40
PUSH 0x1
PUSH 0x40
PUSH ESI
CALL 0x00016da0
ADD ESP,0x18
JMP 0x0002bb3b
MOV EAX,dword ptr [EBX + 0x2910]
TEST EAX,EAX
JZ 0x0002be00
SUB ESP,0xc
ADD dword ptr [EBP + 0x10],0x1
PUSH dword ptr [ESP + 0x1c]
CALL 0x0004f740
ADD ESP,0xc
PUSH EBP
PUSH EAX
PUSH dword ptr [EBX + 0x2910]
CALL 0x0002aa50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
CMP byte ptr [EAX + 0x15b],0x0
JZ 0x0002bafc
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd76ea]
LEA ESI,[EBX + 0x28d0]
PUSH dword ptr [ESP + 0x18]
LEA EDI,[EBX + 0xfffd8c3e]
PUSH EAX
CALL 0x0003e2e0
LEA EAX,[EBX + 0xfffd76c4]
ADD ESP,0x10
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [EBP]
TEST EAX,EAX
JLE 0x0002bc5a
MOV dword ptr [ESP + 0xc],EDI
MOV EDI,ESI
MOV ESI,dword ptr [ESP + 0x2c]
NOP
MOV ECX,dword ptr [EBP + 0x4]
LEA EAX,[ESI + ESI*0x2]
PUSH 0x40
PUSH EDI
LEA EAX,[ECX + EAX*0x8]
LEA ECX,[EAX + 0x4]
PUSH ECX
PUSH dword ptr [EAX]
CALL 0x00016090
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0002be30
SUB ESP,0x8
ADD ESI,0x1
PUSH EDI
PUSH dword ptr [ESP + 0x18]
CALL 0x0003e2e0
ADD ESP,0x10
CMP ESI,dword ptr [EBP]
JL 0x0002bc20
SUB ESP,0xc
LEA EAX,[EBX + 0xfffd6dbf]
PUSH EAX
CALL 0x0003e2e0
ADD ESP,0x10
JMP 0x0002bafc
SUB ESP,0xc
PUSH ESI
CALL 0x000161a0
ADD ESP,0xc
LEA EAX,[EBX + 0xfffd77a4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000166c0
POP ECX
POP ESI
PUSH EAX
PUSH 0x0
CALL 0x0003df30
ADD ESP,0x10
JMP 0x0002bafc
MOV EDI,dword ptr [ESP + 0x28]
TEST EDI,EDI
JNZ 0x0002bd1b
CMP dword ptr [ESP + 0x2c],-0xb
JNZ 0x0002be20
CALL 0x00016080
MOV EAX,dword ptr [EAX]
SUB ESP,0xc
PUSH EAX
CALL 0x0007a3a0
ADD ESP,0x10
MOV ESI,EAX
JMP 0x0002bcf9
MOV EAX,dword ptr [ESP + 0x28]
TEST EAX,EAX
JNZ 0x0002bd1b
SUB ESP,0xc
PUSH dword ptr [ESP + 0x34]
CALL 0x00016920
ADD ESP,0x10
MOV ESI,EAX
SUB ESP,0x4
LEA EAX,[EBX + 0xfffcc4c4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000166c0
ADD ESP,0xc
PUSH ESI
PUSH EAX
PUSH 0x0
CALL 0x0003df30
ADD ESP,0x10
XOR EBP,EBP
JMP 0x0002bafc
SUB ESP,0xc
MOV EBP,dword ptr [ESP + 0x1c]
PUSH EBP
CALL 0x000557a0
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x0002ba0f
SUB ESP,0x4
MOV dword ptr [ESP + 0x14],EBP
PUSH EBP
PUSH EAX
LEA EAX,[EBX + 0xfffd8a93]
PUSH EAX
CALL 0x0004fa20
MOV dword ptr [ESP],EDI
MOV EBP,EAX
CALL 0x00016670
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x10]
TEST EBP,EBP
CMOVNZ EAX,EBP
JMP 0x0002ba15
MOV EAX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JLE 0x0002badd
SUB EAX,0x1
TEST EAX,EAX
JG 0x0002b927
XOR EDI,EDI
LEA ESI,[EBX + 0x28d0]
JMP 0x0002bb26
TEST EAX,EAX
JZ 0x0002b9e8
SUB ESP,0x8
PUSH dword ptr [ESP + 0x18]
PUSH EAX
CALL 0x0002a8d0
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x0002b9e8
MOV EAX,dword ptr [EAX + 0x10]
MOV ECX,dword ptr [ESP + 0x14]
SUB EAX,0x1
CMP byte ptr [ECX + 0x15b],0x0
MOV dword ptr [EDI + 0x10],EAX
JNZ 0x0002be94
TEST EAX,EAX
JLE 0x0002bed2
SUB ESP,0x8
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [EBX + 0x2910]
CALL 0x0002acb0
ADD ESP,0x10
JMP 0x0002b9e8
SUB ESP,0xc
PUSH 0x0
CALL 0x0002aff0
ADD ESP,0x10
MOV dword ptr [EBX + 0x2910],EAX
JMP 0x0002bbae
MOV dword ptr [ESP + 0x28],EAX
JMP 0x0002bce8
CALL 0x00016080
SUB ESP,0xc
ADD ESI,0x1
PUSH dword ptr [EAX]
CALL 0x0007a3a0
POP EDX
POP ECX
PUSH EAX
PUSH dword ptr [ESP + 0x1c]
PUSH 0x40
PUSH 0x1
PUSH 0x40
PUSH EDI
CALL 0x00016da0
ADD ESP,0x18
PUSH EDI
PUSH dword ptr [ESP + 0x18]
CALL 0x0003e2e0
ADD ESP,0x10
CMP dword ptr [EBP],ESI
JG 0x0002bc20
JMP 0x0002bc5a
CALL 0x00016080
MOV EBP,dword ptr [ESP + 0x28]
MOV dword ptr [EAX],0x6e
TEST EBP,EBP
JNZ 0x0002bd1b
MOV EAX,0x6e
JMP 0x0002bcca
PUSH EAX
LEA EAX,[EBX + 0xfffd7750]
PUSH EDI
PUSH 0x8
PUSH EAX
CALL 0x0003e2e0
MOV EAX,dword ptr [EDI + 0x10]
ADD ESP,0x10
TEST EAX,EAX
JG 0x0002bde4
MOV EAX,dword ptr [ESP + 0x14]
CMP byte ptr [EAX + 0x15b],0x0
JZ 0x0002bed2
LEA EAX,[EBX + 0xfffd76aa]
PUSH EBP
PUSH EDI
PUSH 0x8
PUSH EAX
CALL 0x0003e2e0
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [EDI + 0x4]
CALL 0x00016670
MOV dword ptr [ESP],EDI
CALL 0x00016670
ADD ESP,0x10
JMP 0x0002bde4
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd7778]
PUSH EBP
PUSH dword ptr [ESP + 0x18]
PUSH EAX
CALL 0x0003e2e0
ADD ESP,0x10
JMP 0x0002bab4
CALL 0x0007ad20
XOR ESI,ESI
JMP 0x0002b738
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint * FUN_0002b620(char *param_1,uint param_2)\n\n{\n  sockaddr *psVar1;\n  char cVar2;\n  size_t sVar3;\n  char *pcVar4;\n  int iVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  void *pvVar13;\n  int iVar14;\n  code *pcVar15;\n  uint unaff_EBP;\n  addrinfo *paVar16;\n  char *pcVar17;\n  uint uVar18;\n  char *pcVar19;\n  addrinfo *paVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  int local_80;\n  undefined8 local_74;\n  char local_65;\n  uint local_64;\n  addrinfo *local_58;\n  char *local_54;\n  undefined4 local_50;\n  undefined4 *local_4c;\n  addrinfo **local_48;\n  uint local_44;\n  undefined4 local_40 [8];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2b629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_74 = DAT_000b6b60;\n  uVar18 = param_2 & 1;\n  sVar3 = strlen(param_1);\n  pcVar4 = param_1 + sVar3;\n  if (param_1 < pcVar4) {\n    iVar5 = 0;\n    bVar21 = false;\n    iVar14 = 0;\n    pcVar17 = param_1;\n    do {\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    } while (pcVar4 != pcVar19);\nLAB_0002b6f2:\n    if (iVar5 < 4) goto LAB_0002b710;\n    cVar2 = '\x01';\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }\n  else {\nLAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);\n    if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n  }\n  local_4c = local_40;\n  uVar6 = 0;\n  do {\n    *(undefined4 *)((int)local_4c + uVar6) = 0;\n    uVar6 = uVar6 + 4;\n  } while (uVar6 < 0x20);\n  local_40[2] = 1;\n  if (DAT_000b6c3a == '\0') {\n    if (DAT_000b6c3b != '\0') {\n      local_40[1] = 10;\n    }\n  }\n  else {\n    local_40[1] = 2;\n  }\n  uVar7 = 4;\n  if ((param_2 & 2) != 0) {\n    local_40[0] = 1;\n    uVar7 = 5;\n  }\n  if (cVar2 != '\0') {\n    local_74 = 0;\n    local_40[0] = uVar7;\n  }\n  local_50 = 0;\n  local_54 = param_1;\n  local_48 = &local_58;\n  cVar2 = FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54);\n  paVar20 = local_58;\n  if (cVar2 == '\0') {\n    local_64 = local_44;\n    if (local_44 == 0) {\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }\n  else {\n    piVar8 = __errno_location();\n    *piVar8 = 0x6e;\n    if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }\n  }\n  piVar8 = (int *)0x0;\nLAB_0002bafc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0007ad20();\n  }\n  return piVar8;\n}\n\n" comment (function_definition "int * FUN_0002b620(char *param_1,uint param_2)\n\n{\n  sockaddr *psVar1;\n  char cVar2;\n  size_t sVar3;\n  char *pcVar4;\n  int iVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  void *pvVar13;\n  int iVar14;\n  code *pcVar15;\n  uint unaff_EBP;\n  addrinfo *paVar16;\n  char *pcVar17;\n  uint uVar18;\n  char *pcVar19;\n  addrinfo *paVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  int local_80;\n  undefined8 local_74;\n  char local_65;\n  uint local_64;\n  addrinfo *local_58;\n  char *local_54;\n  undefined4 local_50;\n  undefined4 *local_4c;\n  addrinfo **local_48;\n  uint local_44;\n  undefined4 local_40 [8];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2b629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_74 = DAT_000b6b60;\n  uVar18 = param_2 & 1;\n  sVar3 = strlen(param_1);\n  pcVar4 = param_1 + sVar3;\n  if (param_1 < pcVar4) {\n    iVar5 = 0;\n    bVar21 = false;\n    iVar14 = 0;\n    pcVar17 = param_1;\n    do {\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    } while (pcVar4 != pcVar19);\nLAB_0002b6f2:\n    if (iVar5 < 4) goto LAB_0002b710;\n    cVar2 = '\x01';\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }\n  else {\nLAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);\n    if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n  }\n  local_4c = local_40;\n  uVar6 = 0;\n  do {\n    *(undefined4 *)((int)local_4c + uVar6) = 0;\n    uVar6 = uVar6 + 4;\n  } while (uVar6 < 0x20);\n  local_40[2] = 1;\n  if (DAT_000b6c3a == '\0') {\n    if (DAT_000b6c3b != '\0') {\n      local_40[1] = 10;\n    }\n  }\n  else {\n    local_40[1] = 2;\n  }\n  uVar7 = 4;\n  if ((param_2 & 2) != 0) {\n    local_40[0] = 1;\n    uVar7 = 5;\n  }\n  if (cVar2 != '\0') {\n    local_74 = 0;\n    local_40[0] = uVar7;\n  }\n  local_50 = 0;\n  local_54 = param_1;\n  local_48 = &local_58;\n  cVar2 = FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54);\n  paVar20 = local_58;\n  if (cVar2 == '\0') {\n    local_64 = local_44;\n    if (local_44 == 0) {\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }\n  else {\n    piVar8 = __errno_location();\n    *piVar8 = 0x6e;\n    if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }\n  }\n  piVar8 = (int *)0x0;\nLAB_0002bafc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0007ad20();\n  }\n  return piVar8;\n}" primitive_type (pointer_declarator "* FUN_0002b620(char *param_1,uint param_2)" * (function_declarator "FUN_0002b620(char *param_1,uint param_2)" identifier (parameter_list "(char *param_1,uint param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint param_2" type_identifier identifier) )))) (compound_statement "{\n  sockaddr *psVar1;\n  char cVar2;\n  size_t sVar3;\n  char *pcVar4;\n  int iVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  void *pvVar13;\n  int iVar14;\n  code *pcVar15;\n  uint unaff_EBP;\n  addrinfo *paVar16;\n  char *pcVar17;\n  uint uVar18;\n  char *pcVar19;\n  addrinfo *paVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  int local_80;\n  undefined8 local_74;\n  char local_65;\n  uint local_64;\n  addrinfo *local_58;\n  char *local_54;\n  undefined4 local_50;\n  undefined4 *local_4c;\n  addrinfo **local_48;\n  uint local_44;\n  undefined4 local_40 [8];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2b629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_74 = DAT_000b6b60;\n  uVar18 = param_2 & 1;\n  sVar3 = strlen(param_1);\n  pcVar4 = param_1 + sVar3;\n  if (param_1 < pcVar4) {\n    iVar5 = 0;\n    bVar21 = false;\n    iVar14 = 0;\n    pcVar17 = param_1;\n    do {\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    } while (pcVar4 != pcVar19);\nLAB_0002b6f2:\n    if (iVar5 < 4) goto LAB_0002b710;\n    cVar2 = '\x01';\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }\n  else {\nLAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);\n    if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n  }\n  local_4c = local_40;\n  uVar6 = 0;\n  do {\n    *(undefined4 *)((int)local_4c + uVar6) = 0;\n    uVar6 = uVar6 + 4;\n  } while (uVar6 < 0x20);\n  local_40[2] = 1;\n  if (DAT_000b6c3a == '\0') {\n    if (DAT_000b6c3b != '\0') {\n      local_40[1] = 10;\n    }\n  }\n  else {\n    local_40[1] = 2;\n  }\n  uVar7 = 4;\n  if ((param_2 & 2) != 0) {\n    local_40[0] = 1;\n    uVar7 = 5;\n  }\n  if (cVar2 != '\0') {\n    local_74 = 0;\n    local_40[0] = uVar7;\n  }\n  local_50 = 0;\n  local_54 = param_1;\n  local_48 = &local_58;\n  cVar2 = FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54);\n  paVar20 = local_58;\n  if (cVar2 == '\0') {\n    local_64 = local_44;\n    if (local_44 == 0) {\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }\n  else {\n    piVar8 = __errno_location();\n    *piVar8 = 0x6e;\n    if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }\n  }\n  piVar8 = (int *)0x0;\nLAB_0002bafc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0007ad20();\n  }\n  return piVar8;\n}" { (declaration "sockaddr *psVar1;" type_identifier (pointer_declarator "*psVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "void *pvVar13;" primitive_type (pointer_declarator "*pvVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "code *pcVar15;" type_identifier (pointer_declarator "*pcVar15" * identifier) ;) (declaration "uint unaff_EBP;" type_identifier identifier ;) (declaration "addrinfo *paVar16;" type_identifier (pointer_declarator "*paVar16" * identifier) ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "addrinfo *paVar20;" type_identifier (pointer_declarator "*paVar20" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "int local_80;" primitive_type identifier ;) (declaration "undefined8 local_74;" type_identifier identifier ;) (declaration "char local_65;" primitive_type identifier ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "addrinfo *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "char *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "addrinfo **local_48;" type_identifier (pointer_declarator "**local_48" * (pointer_declarator "*local_48" * identifier)) ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "undefined4 local_40 [8];" type_identifier (array_declarator "local_40 [8]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x2b629;" (assignment_expression "uStack_14 = 0x2b629" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_74 = DAT_000b6b60;" (assignment_expression "local_74 = DAT_000b6b60" identifier = identifier) ;) (expression_statement "uVar18 = param_2 & 1;" (assignment_expression "uVar18 = param_2 & 1" identifier = (binary_expression "param_2 & 1" identifier & number_literal)) ;) (expression_statement "sVar3 = strlen(param_1);" (assignment_expression "sVar3 = strlen(param_1)" identifier = (call_expression "strlen(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar4 = param_1 + sVar3;" (assignment_expression "pcVar4 = param_1 + sVar3" identifier = (binary_expression "param_1 + sVar3" identifier + identifier)) ;) (if_statement "if (param_1 < pcVar4) {\n    iVar5 = 0;\n    bVar21 = false;\n    iVar14 = 0;\n    pcVar17 = param_1;\n    do {\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    } while (pcVar4 != pcVar19);\nLAB_0002b6f2:\n    if (iVar5 < 4) goto LAB_0002b710;\n    cVar2 = '\x01';\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }\n  else {\nLAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);\n    if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n  }" if (parenthesized_expression "(param_1 < pcVar4)" ( (binary_expression "param_1 < pcVar4" identifier < identifier) )) (compound_statement "{\n    iVar5 = 0;\n    bVar21 = false;\n    iVar14 = 0;\n    pcVar17 = param_1;\n    do {\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    } while (pcVar4 != pcVar19);\nLAB_0002b6f2:\n    if (iVar5 < 4) goto LAB_0002b710;\n    cVar2 = '\x01';\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "pcVar17 = param_1;" (assignment_expression "pcVar17 = param_1" identifier = identifier) ;) (do_statement "do {\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    } while (pcVar4 != pcVar19);" do (compound_statement "{\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    }" { (while_statement "while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }" { (expression_statement "pcVar19 = pcVar17 + 1;" (assignment_expression "pcVar19 = pcVar17 + 1" identifier = (binary_expression "pcVar17 + 1" identifier + number_literal)) ;) (expression_statement "unaff_EBP = (int)*pcVar17 - 0x30;" (assignment_expression "unaff_EBP = (int)*pcVar17 - 0x30" identifier = (binary_expression "(int)*pcVar17 - 0x30" (cast_expression "(int)*pcVar17" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar17" * identifier)) - number_literal)) ;) (if_statement "if (unaff_EBP < 10) break;" if (parenthesized_expression "(unaff_EBP < 10)" ( (binary_expression "unaff_EBP < 10" identifier < number_literal) )) (break_statement "break;" break ;)) (expression_statement "bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);" (assignment_expression "bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4)" identifier = (cast_expression "(bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4)" ( (binary_expression "bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4" (binary_expression "bVar21 & *pcVar17 == 0x2e ^ 1U" (binary_expression "bVar21 & *pcVar17 == 0x2e" identifier & (binary_expression "*pcVar17 == 0x2e" (pointer_expression "*pcVar17" * identifier) == number_literal)) ^ number_literal) | (binary_expression "iVar5 == 4" identifier == number_literal)) )))) ;) (if_statement "if (bVar21) goto LAB_0002b710;" if (parenthesized_expression "(bVar21)" ( identifier )) (goto_statement "goto LAB_0002b710;" goto statement_identifier ;)) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "pcVar17 = pcVar19;" (assignment_expression "pcVar17 = pcVar19" identifier = identifier) ;) (if_statement "if (pcVar4 == pcVar19) goto LAB_0002b6f2;" if (parenthesized_expression "(pcVar4 == pcVar19)" ( (binary_expression "pcVar4 == pcVar19" identifier == identifier) )) (goto_statement "goto LAB_0002b6f2;" goto statement_identifier ;)) })) (expression_statement "iVar14 = unaff_EBP + iVar14 * 10;" (assignment_expression "iVar14 = unaff_EBP + iVar14 * 10" identifier = (binary_expression "unaff_EBP + iVar14 * 10" identifier + (binary_expression "iVar14 * 10" identifier * number_literal))) ;) (if_statement "if (0xff < iVar14) goto LAB_0002b710;" if (parenthesized_expression "(0xff < iVar14)" ( (binary_expression "0xff < iVar14" number_literal < identifier) )) (goto_statement "goto LAB_0002b710;" goto statement_identifier ;)) (if_statement "if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }" if (parenthesized_expression "(!bVar21)" ( (unary_expression "!bVar21" ! identifier) )) (compound_statement "{\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }" { (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (if_statement "if (4 < iVar5) goto LAB_0002b710;" if (parenthesized_expression "(4 < iVar5)" ( (binary_expression "4 < iVar5" number_literal < identifier) )) (goto_statement "goto LAB_0002b710;" goto statement_identifier ;)) (expression_statement "bVar21 = true;" (assignment_expression "bVar21 = true" identifier = true) ;) })) (expression_statement "pcVar17 = pcVar19;" (assignment_expression "pcVar17 = pcVar19" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar4 != pcVar19)" ( (binary_expression "pcVar4 != pcVar19" identifier != identifier) )) ;) (labeled_statement "LAB_0002b6f2:\n    if (iVar5 < 4) goto LAB_0002b710;" statement_identifier : (if_statement "if (iVar5 < 4) goto LAB_0002b710;" if (parenthesized_expression "(iVar5 < 4)" ( (binary_expression "iVar5 < 4" identifier < number_literal) )) (goto_statement "goto LAB_0002b710;" goto statement_identifier ;))) (expression_statement "cVar2 = '\x01';" (assignment_expression "cVar2 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_65 = '\0';" (assignment_expression "local_65 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_80._0_1_ = '\0';" (assignment_expression "local_80._0_1_ = '\0'" (field_expression "local_80._0_1_" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\nLAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);\n    if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n  }" else (compound_statement "{\nLAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);\n    if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n  }" { (labeled_statement "LAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);" statement_identifier : (expression_statement "cVar2 = FUN_0002b3f0(param_1,pcVar4);" (assignment_expression "cVar2 = FUN_0002b3f0(param_1,pcVar4)" identifier = (call_expression "FUN_0002b3f0(param_1,pcVar4)" identifier (argument_list "(param_1,pcVar4)" ( identifier , identifier )))) ;)) (if_statement "if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }" { (expression_statement "local_65 = DAT_000b6ac4;" (assignment_expression "local_65 = DAT_000b6ac4" identifier = identifier) ;) (if_statement "if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }" if (parenthesized_expression "((param_2 & 2) == 0)" ( (binary_expression "(param_2 & 2) == 0" (parenthesized_expression "(param_2 & 2)" ( (binary_expression "param_2 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }" { (if_statement "if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }" if (parenthesized_expression "(DAT_000b6ac4 != '\0')" ( (binary_expression "DAT_000b6ac4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }" { (if_statement "if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }" if (parenthesized_expression "((param_2 & 4) == 0)" ( (binary_expression "(param_2 & 4) == 0" (parenthesized_expression "(param_2 & 4)" ( (binary_expression "param_2 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }" { (if_statement "if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }" if (parenthesized_expression "((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0))" ( (binary_expression "(DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)" (parenthesized_expression "(DAT_000b14e0 != 0)" ( (binary_expression "DAT_000b14e0 != 0" identifier != number_literal) )) && (parenthesized_expression "(piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)" ( (comma_expression "piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0" (assignment_expression "piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1)" identifier = (cast_expression "(int *)FUN_0002a8d0(DAT_000b14e0,param_1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0002a8d0(DAT_000b14e0,param_1)" identifier (argument_list "(DAT_000b14e0,param_1)" ( identifier , identifier ))))) , (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }" { (if_statement "if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }" if (parenthesized_expression "(DAT_000b6b9b != '\0')" ( (binary_expression "DAT_000b6b9b != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }" { (expression_statement "FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);" (call_expression "FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8)" identifier (argument_list "("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8)" ( (string_literal ""Found %s in host_name_addresses_map (%p)\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) })) (expression_statement "piVar8[4] = piVar8[4] + 1;" (assignment_expression "piVar8[4] = piVar8[4] + 1" (subscript_expression "piVar8[4]" identifier [ number_literal ]) = (binary_expression "piVar8[4] + 1" (subscript_expression "piVar8[4]" identifier [ number_literal ]) + number_literal)) ;) (goto_statement "goto LAB_0002bafc;" goto statement_identifier ;) })) }) (else_clause "else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }" else (if_statement "if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }" if (parenthesized_expression "((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0))" ( (binary_expression "(DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)" (parenthesized_expression "(DAT_000b14e0 != 0)" ( (binary_expression "DAT_000b14e0 != 0" identifier != number_literal) )) && (parenthesized_expression "(pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)" ( (comma_expression "pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0" (assignment_expression "pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1)" identifier = (cast_expression "(void *)FUN_0002a8d0(DAT_000b14e0,param_1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0002a8d0(DAT_000b14e0,param_1)" identifier (argument_list "(DAT_000b14e0,param_1)" ( identifier , identifier ))))) , (binary_expression "pvVar13 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }" { (expression_statement "iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;" (assignment_expression "iVar14 = *(int *)((int)pvVar13 + 0x10) + -1" identifier = (binary_expression "*(int *)((int)pvVar13 + 0x10) + -1" (pointer_expression "*(int *)((int)pvVar13 + 0x10)" * (cast_expression "(int *)((int)pvVar13 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar13 + 0x10)" ( (binary_expression "(int)pvVar13 + 0x10" (cast_expression "(int)pvVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "bVar21 = DAT_000b6b9b == '\0';" (assignment_expression "bVar21 = DAT_000b6b9b == '\0'" identifier = (binary_expression "DAT_000b6b9b == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (expression_statement "*(int *)((int)pvVar13 + 0x10) = iVar14;" (assignment_expression "*(int *)((int)pvVar13 + 0x10) = iVar14" (pointer_expression "*(int *)((int)pvVar13 + 0x10)" * (cast_expression "(int *)((int)pvVar13 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar13 + 0x10)" ( (binary_expression "(int)pvVar13 + 0x10" (cast_expression "(int)pvVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }" if (parenthesized_expression "(bVar21)" ( identifier )) (compound_statement "{\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }" { (if_statement "if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }" if (parenthesized_expression "(iVar14 < 1)" ( (binary_expression "iVar14 < 1" identifier < number_literal) )) (compound_statement "{\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }" { (labeled_statement "LAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));" statement_identifier : (expression_statement "free(*(void **)((int)pvVar13 + 4));" (call_expression "free(*(void **)((int)pvVar13 + 4))" identifier (argument_list "(*(void **)((int)pvVar13 + 4))" ( (pointer_expression "*(void **)((int)pvVar13 + 4)" * (cast_expression "(void **)((int)pvVar13 + 4)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar13 + 4)" ( (binary_expression "(int)pvVar13 + 4" (cast_expression "(int)pvVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) (expression_statement "free(pvVar13);" (call_expression "free(pvVar13)" identifier (argument_list "(pvVar13)" ( identifier ))) ;) })) }) (else_clause "else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }" else (compound_statement "{\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }" { (expression_statement "FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);" (call_expression "FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14)" identifier (argument_list "("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14)" ( (string_literal ""Releasing 0x%0*lx (new refcount %d).\n"" " string_content escape_sequence ") , number_literal , identifier , identifier ))) ;) (if_statement "if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }" if (parenthesized_expression "(*(int *)((int)pvVar13 + 0x10) < 1)" ( (binary_expression "*(int *)((int)pvVar13 + 0x10) < 1" (pointer_expression "*(int *)((int)pvVar13 + 0x10)" * (cast_expression "(int *)((int)pvVar13 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar13 + 0x10)" ( (binary_expression "(int)pvVar13 + 0x10" (cast_expression "(int)pvVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < number_literal) )) (compound_statement "{\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }" { (if_statement "if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }" if (parenthesized_expression "(DAT_000b6b9b != '\0')" ( (binary_expression "DAT_000b6b9b != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }" { (expression_statement "FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);" (call_expression "FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP)" identifier (argument_list "("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP)" ( (string_literal ""Deleting unused 0x%0*lx.\n"" " string_content escape_sequence ") , number_literal , identifier , identifier ))) ;) })) (goto_statement "goto LAB_0002bed2;" goto statement_identifier ;) })) }))) (expression_statement "FUN_0002acb0(DAT_000b14e0,param_1);" (call_expression "FUN_0002acb0(DAT_000b14e0,param_1)" identifier (argument_list "(DAT_000b14e0,param_1)" ( identifier , identifier ))) ;) })))) })) }) (else_clause "else {\n        local_65 = '\0';\n      }" else (compound_statement "{\n        local_65 = '\0';\n      }" { (expression_statement "local_65 = '\0';" (assignment_expression "local_65 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }))) (expression_statement "local_80._0_1_ = (char)(~param_2 & 1);" (assignment_expression "local_80._0_1_ = (char)(~param_2 & 1)" (field_expression "local_80._0_1_" identifier . field_identifier) = (cast_expression "(char)(~param_2 & 1)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(~param_2 & 1)" ( (binary_expression "~param_2 & 1" (unary_expression "~param_2" ~ identifier) & number_literal) )))) ;) (if_statement "if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }" if (parenthesized_expression "((~param_2 & 1) == 0)" ( (binary_expression "(~param_2 & 1) == 0" (parenthesized_expression "(~param_2 & 1)" ( (binary_expression "~param_2 & 1" (unary_expression "~param_2" ~ identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        cVar2 = '\0';\n      }" { (expression_statement "cVar2 = '\0';" (assignment_expression "cVar2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }" else (compound_statement "{\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }" { (expression_statement "pcVar4 = param_1;" (assignment_expression "pcVar4 = param_1" identifier = identifier) ;) (if_statement "if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }" if (parenthesized_expression "((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0))" ( (binary_expression "(DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)" (parenthesized_expression "(DAT_000b6c42 == '\0')" ( (binary_expression "DAT_000b6c42 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)" ( (comma_expression "pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0" (assignment_expression "pvVar13 = (void *)FUN_000557a0(param_1)" identifier = (cast_expression "(void *)FUN_000557a0(param_1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000557a0(param_1)" identifier (argument_list "(param_1)" ( identifier ))))) , (binary_expression "pvVar13 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          pcVar17 = (char *)0x0;\n        }" { (expression_statement "pcVar17 = (char *)0x0;" (assignment_expression "pcVar17 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }" else (compound_statement "{\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }" { (expression_statement "pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);" (assignment_expression "pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1)" identifier = (cast_expression "(char *)FUN_0004fa20("%s (%s)",pvVar13,param_1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0004fa20("%s (%s)",pvVar13,param_1)" identifier (argument_list "("%s (%s)",pvVar13,param_1)" ( (string_literal ""%s (%s)"" " string_content ") , identifier , identifier ))))) ;) (expression_statement "free(pvVar13);" (call_expression "free(pvVar13)" identifier (argument_list "(pvVar13)" ( identifier ))) ;) (if_statement "if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }" if (parenthesized_expression "(pcVar17 != (char *)0x0)" ( (binary_expression "pcVar17 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar4 = pcVar17;\n          }" { (expression_statement "pcVar4 = pcVar17;" (assignment_expression "pcVar4 = pcVar17" identifier = identifier) ;) })) }))) (expression_statement "uVar7 = FUN_00061a80(7,pcVar4);" (assignment_expression "uVar7 = FUN_00061a80(7,pcVar4)" identifier = (call_expression "FUN_00061a80(7,pcVar4)" identifier (argument_list "(7,pcVar4)" ( number_literal , identifier )))) ;) (expression_statement "uVar12 = dcgettext(0,"Resolving %s... ",5);" (assignment_expression "uVar12 = dcgettext(0,"Resolving %s... ",5)" identifier = (call_expression "dcgettext(0,"Resolving %s... ",5)" identifier (argument_list "(0,"Resolving %s... ",5)" ( number_literal , (string_literal ""Resolving %s... "" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0003df30(0,uVar12,uVar7);" (call_expression "FUN_0003df30(0,uVar12,uVar7)" identifier (argument_list "(0,uVar12,uVar7)" ( number_literal , identifier , identifier ))) ;) (expression_statement "free(pcVar17);" (call_expression "free(pcVar17)" identifier (argument_list "(pcVar17)" ( identifier ))) ;) }))) }) (else_clause "else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }" else (compound_statement "{\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }" { (expression_statement "local_65 = '\0';" (assignment_expression "local_65 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_80._0_1_ = '\0';" (assignment_expression "local_80._0_1_ = '\0'" (field_expression "local_80._0_1_" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) }))) }))) (expression_statement "local_4c = local_40;" (assignment_expression "local_4c = local_40" identifier = identifier) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)((int)local_4c + uVar6) = 0;\n    uVar6 = uVar6 + 4;\n  } while (uVar6 < 0x20);" do (compound_statement "{\n    *(undefined4 *)((int)local_4c + uVar6) = 0;\n    uVar6 = uVar6 + 4;\n  }" { (expression_statement "*(undefined4 *)((int)local_4c + uVar6) = 0;" (assignment_expression "*(undefined4 *)((int)local_4c + uVar6) = 0" (pointer_expression "*(undefined4 *)((int)local_4c + uVar6)" * (cast_expression "(undefined4 *)((int)local_4c + uVar6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_4c + uVar6)" ( (binary_expression "(int)local_4c + uVar6" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "uVar6 = uVar6 + 4;" (assignment_expression "uVar6 = uVar6 + 4" identifier = (binary_expression "uVar6 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar6 < 0x20)" ( (binary_expression "uVar6 < 0x20" identifier < number_literal) )) ;) (expression_statement "local_40[2] = 1;" (assignment_expression "local_40[2] = 1" (subscript_expression "local_40[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (DAT_000b6c3a == '\0') {\n    if (DAT_000b6c3b != '\0') {\n      local_40[1] = 10;\n    }\n  }\n  else {\n    local_40[1] = 2;\n  }" if (parenthesized_expression "(DAT_000b6c3a == '\0')" ( (binary_expression "DAT_000b6c3a == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (DAT_000b6c3b != '\0') {\n      local_40[1] = 10;\n    }\n  }" { (if_statement "if (DAT_000b6c3b != '\0') {\n      local_40[1] = 10;\n    }" if (parenthesized_expression "(DAT_000b6c3b != '\0')" ( (binary_expression "DAT_000b6c3b != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_40[1] = 10;\n    }" { (expression_statement "local_40[1] = 10;" (assignment_expression "local_40[1] = 10" (subscript_expression "local_40[1]" identifier [ number_literal ]) = number_literal) ;) })) }) (else_clause "else {\n    local_40[1] = 2;\n  }" else (compound_statement "{\n    local_40[1] = 2;\n  }" { (expression_statement "local_40[1] = 2;" (assignment_expression "local_40[1] = 2" (subscript_expression "local_40[1]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "uVar7 = 4;" (assignment_expression "uVar7 = 4" identifier = number_literal) ;) (if_statement "if ((param_2 & 2) != 0) {\n    local_40[0] = 1;\n    uVar7 = 5;\n  }" if (parenthesized_expression "((param_2 & 2) != 0)" ( (binary_expression "(param_2 & 2) != 0" (parenthesized_expression "(param_2 & 2)" ( (binary_expression "param_2 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    local_40[0] = 1;\n    uVar7 = 5;\n  }" { (expression_statement "local_40[0] = 1;" (assignment_expression "local_40[0] = 1" (subscript_expression "local_40[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = 5;" (assignment_expression "uVar7 = 5" identifier = number_literal) ;) })) (if_statement "if (cVar2 != '\0') {\n    local_74 = 0;\n    local_40[0] = uVar7;\n  }" if (parenthesized_expression "(cVar2 != '\0')" ( (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_74 = 0;\n    local_40[0] = uVar7;\n  }" { (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_40[0] = uVar7;" (assignment_expression "local_40[0] = uVar7" (subscript_expression "local_40[0]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_54 = param_1;" (assignment_expression "local_54 = param_1" identifier = identifier) ;) (expression_statement "local_48 = &local_58;" (assignment_expression "local_48 = &local_58" identifier = (pointer_expression "&local_58" & identifier)) ;) (expression_statement "cVar2 = FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54);" (assignment_expression "cVar2 = FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54)" identifier = (call_expression "FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54)" identifier (argument_list "((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54)" ( (cast_expression "(undefined4)local_74" ( (type_descriptor "undefined4" type_identifier) ) identifier) , (field_expression "local_74._4_4_" identifier . field_identifier) , identifier , (pointer_expression "&local_54" & identifier) )))) ;) (expression_statement "paVar20 = local_58;" (assignment_expression "paVar20 = local_58" identifier = identifier) ;) (if_statement "if (cVar2 == '\0') {\n    local_64 = local_44;\n    if (local_44 == 0) {\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }\n  else {\n    piVar8 = __errno_location();\n    *piVar8 = 0x6e;\n    if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }\n  }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_64 = local_44;\n    if (local_44 == 0) {\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }" { (expression_statement "local_64 = local_44;" (assignment_expression "local_64 = local_44" identifier = identifier) ;) (if_statement "if (local_44 == 0) {\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }" if (parenthesized_expression "(local_44 == 0)" ( (binary_expression "local_44 == 0" identifier == number_literal) )) (compound_statement "{\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }" { (if_statement "if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }" if (parenthesized_expression "(local_58 != (addrinfo *)0x0)" ( (binary_expression "local_58 != (addrinfo *)0x0" identifier != (cast_expression "(addrinfo *)0x0" ( (type_descriptor "addrinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "paVar16 = local_58;" (assignment_expression "paVar16 = local_58" identifier = identifier) ;) (do_statement "do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);" do (compound_statement "{\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        }" { (expression_statement "piVar8 = &paVar16->ai_family;" (assignment_expression "piVar8 = &paVar16->ai_family" identifier = (pointer_expression "&paVar16->ai_family" & (field_expression "paVar16->ai_family" identifier -> field_identifier))) ;) (expression_statement "paVar16 = paVar16->ai_next;" (assignment_expression "paVar16 = paVar16->ai_next" identifier = (field_expression "paVar16->ai_next" identifier -> field_identifier)) ;) (expression_statement "iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);" (assignment_expression "iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2)" identifier = (binary_expression "iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2)" identifier + (call_expression "(uint)((*piVar8 & 0xfffffff7U) == 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*piVar8 & 0xfffffff7U) == 2)" ( (binary_expression "(*piVar8 & 0xfffffff7U) == 2" (parenthesized_expression "(*piVar8 & 0xfffffff7U)" ( (binary_expression "*piVar8 & 0xfffffff7U" (pointer_expression "*piVar8" * identifier) & number_literal) )) == number_literal) ))))) ;) }) while (parenthesized_expression "(paVar16 != (addrinfo *)0x0)" ( (binary_expression "paVar16 != (addrinfo *)0x0" identifier != (cast_expression "(addrinfo *)0x0" ( (type_descriptor "addrinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }" { (expression_statement "freeaddrinfo(local_58);" (call_expression "freeaddrinfo(local_58)" identifier (argument_list "(local_58)" ( identifier ))) ;) (expression_statement "uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);" (assignment_expression "uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5)" identifier = (call_expression "dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5)" identifier (argument_list "(0,"failed: No IPv4/IPv6 addresses for host.\n",5)" ( number_literal , (string_literal ""failed: No IPv4/IPv6 addresses for host.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0003df30(0,uVar7);" (call_expression "FUN_0003df30(0,uVar7)" identifier (argument_list "(0,uVar7)" ( number_literal , identifier ))) ;) (expression_statement "piVar8 = (int *)0x0;" (assignment_expression "piVar8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0002bafc;" goto statement_identifier ;) })) (expression_statement "piVar8 = (int *)FUN_00062f90(1,0x14);" (assignment_expression "piVar8 = (int *)FUN_00062f90(1,0x14)" identifier = (cast_expression "(int *)FUN_00062f90(1,0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062f90(1,0x14)" identifier (argument_list "(1,0x14)" ( number_literal , number_literal ))))) ;) (expression_statement "puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);" (assignment_expression "puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18)" identifier = (cast_expression "(undefined4 *)FUN_00062e50(iVar14 * 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062e50(iVar14 * 0x18)" identifier (argument_list "(iVar14 * 0x18)" ( (binary_expression "iVar14 * 0x18" identifier * number_literal) ))))) ;) (expression_statement "*piVar8 = iVar14;" (assignment_expression "*piVar8 = iVar14" (pointer_expression "*piVar8" * identifier) = identifier) ;) (expression_statement "piVar8[1] = (int)puVar9;" (assignment_expression "piVar8[1] = (int)puVar9" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar8[4] = 1;" (assignment_expression "piVar8[4] = 1" (subscript_expression "piVar8[4]" identifier [ number_literal ]) = number_literal) ;) (do_statement "do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);" do (compound_statement "{\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        }" { (while_statement "while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }" while (parenthesized_expression "(paVar20->ai_family != 10)" ( (binary_expression "paVar20->ai_family != 10" (field_expression "paVar20->ai_family" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }" { (expression_statement "puVar10 = puVar9;" (assignment_expression "puVar10 = puVar9" identifier = identifier) ;) (if_statement "if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }" if (parenthesized_expression "(paVar20->ai_family == 2)" ( (binary_expression "paVar20->ai_family == 2" (field_expression "paVar20->ai_family" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }" { (expression_statement "psVar1 = paVar20->ai_addr;" (assignment_expression "psVar1 = paVar20->ai_addr" identifier = (field_expression "paVar20->ai_addr" identifier -> field_identifier)) ;) (expression_statement "puVar10 = puVar9 + 6;" (assignment_expression "puVar10 = puVar9 + 6" identifier = (binary_expression "puVar9 + 6" identifier + number_literal)) ;) (expression_statement "*puVar9 = 2;" (assignment_expression "*puVar9 = 2" (pointer_expression "*puVar9" * identifier) = number_literal) ;) (expression_statement "puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);" (assignment_expression "puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2)" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(psVar1->sa_data + 2)" * (cast_expression "(undefined4 *)(psVar1->sa_data + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar1->sa_data + 2)" ( (binary_expression "psVar1->sa_data + 2" (field_expression "psVar1->sa_data" identifier -> field_identifier) + number_literal) ))))) ;) })) (expression_statement "paVar20 = paVar20->ai_next;" (assignment_expression "paVar20 = paVar20->ai_next" identifier = (field_expression "paVar20->ai_next" identifier -> field_identifier)) ;) (expression_statement "puVar9 = puVar10;" (assignment_expression "puVar9 = puVar10" identifier = identifier) ;) (if_statement "if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;" if (parenthesized_expression "(paVar20 == (addrinfo *)0x0)" ( (binary_expression "paVar20 == (addrinfo *)0x0" identifier == (cast_expression "(addrinfo *)0x0" ( (type_descriptor "addrinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0002b8a8;" goto statement_identifier ;)) })) (expression_statement "psVar1 = paVar20->ai_addr;" (assignment_expression "psVar1 = paVar20->ai_addr" identifier = (field_expression "paVar20->ai_addr" identifier -> field_identifier)) ;) (expression_statement "paVar20 = paVar20->ai_next;" (assignment_expression "paVar20 = paVar20->ai_next" identifier = (field_expression "paVar20->ai_next" identifier -> field_identifier)) ;) (expression_statement "*puVar9 = 10;" (assignment_expression "*puVar9 = 10" (pointer_expression "*puVar9" * identifier) = number_literal) ;) (expression_statement "puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);" (assignment_expression "puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6)" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(psVar1->sa_data + 6)" * (cast_expression "(undefined4 *)(psVar1->sa_data + 6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar1->sa_data + 6)" ( (binary_expression "psVar1->sa_data + 6" (field_expression "psVar1->sa_data" identifier -> field_identifier) + number_literal) ))))) ;) (expression_statement "puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);" (assignment_expression "puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10)" (subscript_expression "puVar9[2]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(psVar1->sa_data + 10)" * (cast_expression "(undefined4 *)(psVar1->sa_data + 10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar1->sa_data + 10)" ( (binary_expression "psVar1->sa_data + 10" (field_expression "psVar1->sa_data" identifier -> field_identifier) + number_literal) ))))) ;) (expression_statement "puVar9[3] = *(undefined4 *)(psVar1 + 1);" (assignment_expression "puVar9[3] = *(undefined4 *)(psVar1 + 1)" (subscript_expression "puVar9[3]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(psVar1 + 1)" * (cast_expression "(undefined4 *)(psVar1 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar1 + 1)" ( (binary_expression "psVar1 + 1" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);" (assignment_expression "uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6)" identifier = (pointer_expression "*(undefined4 *)(psVar1[1].sa_data + 6)" * (cast_expression "(undefined4 *)(psVar1[1].sa_data + 6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar1[1].sa_data + 6)" ( (binary_expression "psVar1[1].sa_data + 6" (field_expression "psVar1[1].sa_data" (subscript_expression "psVar1[1]" identifier [ number_literal ]) . field_identifier) + number_literal) ))))) ;) (expression_statement "puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);" (assignment_expression "puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2)" (subscript_expression "puVar9[4]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(psVar1[1].sa_data + 2)" * (cast_expression "(undefined4 *)(psVar1[1].sa_data + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar1[1].sa_data + 2)" ( (binary_expression "psVar1[1].sa_data + 2" (field_expression "psVar1[1].sa_data" (subscript_expression "psVar1[1]" identifier [ number_literal ]) . field_identifier) + number_literal) ))))) ;) (expression_statement "puVar9[5] = uVar7;" (assignment_expression "puVar9[5] = uVar7" (subscript_expression "puVar9[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9 = puVar9 + 6;" (assignment_expression "puVar9 = puVar9 + 6" identifier = (binary_expression "puVar9 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(paVar20 != (addrinfo *)0x0)" ( (binary_expression "paVar20 != (addrinfo *)0x0" identifier != (cast_expression "(addrinfo *)0x0" ( (type_descriptor "addrinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_0002b8a8:\n        freeaddrinfo(local_58);" statement_identifier : (expression_statement "freeaddrinfo(local_58);" (call_expression "freeaddrinfo(local_58)" identifier (argument_list "(local_58)" ( identifier ))) ;)) (if_statement "if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }" if (parenthesized_expression "((1 < *piVar8) && (DAT_000b6c3c != 2))" ( (binary_expression "(1 < *piVar8) && (DAT_000b6c3c != 2)" (parenthesized_expression "(1 < *piVar8)" ( (binary_expression "1 < *piVar8" number_literal < (pointer_expression "*piVar8" * identifier)) )) && (parenthesized_expression "(DAT_000b6c3c != 2)" ( (binary_expression "DAT_000b6c3c != 2" identifier != number_literal) ))) )) (compound_statement "{\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }" { (expression_statement "pcVar15 = FUN_0002b0d0;" (assignment_expression "pcVar15 = FUN_0002b0d0" identifier = identifier) ;) (if_statement "if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }" if (parenthesized_expression "(DAT_000b6c3c != 0)" ( (binary_expression "DAT_000b6c3c != 0" identifier != number_literal) )) (compound_statement "{\n            pcVar15 = FUN_0002b0f0;\n          }" { (expression_statement "pcVar15 = FUN_0002b0f0;" (assignment_expression "pcVar15 = FUN_0002b0f0" identifier = identifier) ;) })) (expression_statement "FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);" (call_expression "FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15)" identifier (argument_list "(piVar8[1],*piVar8,0x18,pcVar15)" ( (subscript_expression "piVar8[1]" identifier [ number_literal ]) , (pointer_expression "*piVar8" * identifier) , number_literal , identifier ))) ;) })) (if_statement "if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }" if (parenthesized_expression "((char)local_80 != '\0')" ( (binary_expression "(char)local_80 != '\0'" (cast_expression "(char)local_80" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }" { (expression_statement "local_80 = *piVar8;" (assignment_expression "local_80 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (if_statement "if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }" if (parenthesized_expression "((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4))" ( (binary_expression "(DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)" (parenthesized_expression "(DAT_000b6c4d._1_1_ == '\x01')" ( (binary_expression "DAT_000b6c4d._1_1_ == '\x01'" (field_expression "DAT_000b6c4d._1_1_" identifier . field_identifier) == (char_literal "'\x01'" ' escape_sequence ')) )) || (parenthesized_expression "(local_80 < 4)" ( (binary_expression "local_80 < 4" identifier < number_literal) ))) )) (compound_statement "{\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }" { (if_statement "if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }" if (parenthesized_expression "(0 < local_80)" ( (binary_expression "0 < local_80" number_literal < identifier) )) (compound_statement "{\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }" { (expression_statement "iVar14 = local_80 + -1;" (assignment_expression "iVar14 = local_80 + -1" identifier = (binary_expression "local_80 + -1" identifier + number_literal)) ;) (if_statement "if (0 < iVar14) goto LAB_0002b927;" if (parenthesized_expression "(0 < iVar14)" ( (binary_expression "0 < iVar14" number_literal < identifier) )) (goto_statement "goto LAB_0002b927;" goto statement_identifier ;)) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0002bb53;" goto statement_identifier ;) })) }) (else_clause "else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }" else (compound_statement "{\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }" { (expression_statement "local_80 = 3;" (assignment_expression "local_80 = 3" identifier = number_literal) ;) (expression_statement "iVar14 = 2;" (assignment_expression "iVar14 = 2" identifier = number_literal) ;) (labeled_statement "LAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }" statement_identifier : (if_statement "if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }" if (parenthesized_expression "(local_80 < iVar14)" ( (binary_expression "local_80 < iVar14" identifier < identifier) )) (compound_statement "{\n              iVar14 = local_80;\n            }" { (expression_statement "iVar14 = local_80;" (assignment_expression "iVar14 = local_80" identifier = identifier) ;) }))) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);" do (compound_statement "{\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            }" { (expression_statement "piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);" (assignment_expression "piVar11 = (int *)(piVar8[1] + iVar5 * 0x18)" identifier = (cast_expression "(int *)(piVar8[1] + iVar5 * 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8[1] + iVar5 * 0x18)" ( (binary_expression "piVar8[1] + iVar5 * 0x18" (subscript_expression "piVar8[1]" identifier [ number_literal ]) + (binary_expression "iVar5 * 0x18" identifier * number_literal)) )))) ;) (expression_statement "pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);" (assignment_expression "pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" identifier = (call_expression "inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" identifier (argument_list "(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" ( (pointer_expression "*piVar11" * identifier) , (binary_expression "piVar11 + 1" identifier + number_literal) , (pointer_expression "&DAT_000b14a0" & identifier) , number_literal )))) ;) (if_statement "if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }" if (parenthesized_expression "(pcVar4 == (char *)0x0)" ( (binary_expression "pcVar4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }" { (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar7 = FUN_0007a3a0(*piVar11);" (assignment_expression "uVar7 = FUN_0007a3a0(*piVar11)" identifier = (call_expression "FUN_0007a3a0(*piVar11)" identifier (argument_list "(*piVar11)" ( (pointer_expression "*piVar11" * identifier) )))) ;) (expression_statement "__snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);" (call_expression "__snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7)" identifier (argument_list "(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7)" ( (pointer_expression "&DAT_000b14a0" & identifier) , number_literal , number_literal , number_literal , (string_literal ""<error: %s>"" " string_content ") , identifier ))) ;) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0003daf0(0,&DAT_000b14a0);" (call_expression "FUN_0003daf0(0,&DAT_000b14a0)" identifier (argument_list "(0,&DAT_000b14a0)" ( number_literal , (pointer_expression "&DAT_000b14a0" & identifier) ))) ;) (expression_statement "FUN_0003daf0(0,&DAT_000862b1);" (call_expression "FUN_0003daf0(0,&DAT_000862b1)" identifier (argument_list "(0,&DAT_000862b1)" ( number_literal , (pointer_expression "&DAT_000862b1" & identifier) ))) ;) }) while (parenthesized_expression "(iVar5 < iVar14)" ( (binary_expression "iVar5 < iVar14" identifier < identifier) )) ;) (if_statement "if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }" if (parenthesized_expression "(iVar5 < local_80)" ( (binary_expression "iVar5 < local_80" identifier < identifier) )) (compound_statement "{\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }" { (labeled_statement "LAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);" statement_identifier : (do_statement "do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);" do (compound_statement "{\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              }" { (expression_statement "piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);" (assignment_expression "piVar11 = (int *)(piVar8[1] + iVar5 * 0x18)" identifier = (cast_expression "(int *)(piVar8[1] + iVar5 * 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8[1] + iVar5 * 0x18)" ( (binary_expression "piVar8[1] + iVar5 * 0x18" (subscript_expression "piVar8[1]" identifier [ number_literal ]) + (binary_expression "iVar5 * 0x18" identifier * number_literal)) )))) ;) (expression_statement "pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);" (assignment_expression "pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" identifier = (call_expression "inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" identifier (argument_list "(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" ( (pointer_expression "*piVar11" * identifier) , (binary_expression "piVar11 + 1" identifier + number_literal) , (pointer_expression "&DAT_000b14a0" & identifier) , number_literal )))) ;) (if_statement "if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }" if (parenthesized_expression "(pcVar4 == (char *)0x0)" ( (binary_expression "pcVar4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }" { (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar7 = FUN_0007a3a0(*piVar11);" (assignment_expression "uVar7 = FUN_0007a3a0(*piVar11)" identifier = (call_expression "FUN_0007a3a0(*piVar11)" identifier (argument_list "(*piVar11)" ( (pointer_expression "*piVar11" * identifier) )))) ;) (expression_statement "__snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);" (call_expression "__snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7)" identifier (argument_list "(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7)" ( (pointer_expression "&DAT_000b14a0" & identifier) , number_literal , number_literal , number_literal , (string_literal ""<error: %s>"" " string_content ") , identifier ))) ;) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0003daf0(0,&DAT_000b14a0);" (call_expression "FUN_0003daf0(0,&DAT_000b14a0)" identifier (argument_list "(0,&DAT_000b14a0)" ( number_literal , (pointer_expression "&DAT_000b14a0" & identifier) ))) ;) }) while (parenthesized_expression "(iVar5 < local_80)" ( (binary_expression "iVar5 < local_80" identifier < identifier) )) ;)) })) (if_statement "if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }" if (parenthesized_expression "(*piVar8 != local_80)" ( (binary_expression "*piVar8 != local_80" (pointer_expression "*piVar8" * identifier) != identifier) )) (compound_statement "{\n              FUN_0003daf0(0,&DAT_000862b4);\n            }" { (expression_statement "FUN_0003daf0(0,&DAT_000862b4);" (call_expression "FUN_0003daf0(0,&DAT_000862b4)" identifier (argument_list "(0,&DAT_000862b4)" ( number_literal , (pointer_expression "&DAT_000862b4" & identifier) ))) ;) })) }))) (expression_statement "FUN_0003daf0(0,"\n");" (call_expression "FUN_0003daf0(0,"\n")" identifier (argument_list "(0,"\n")" ( number_literal , (string_literal ""\n"" " escape_sequence ") ))) ;) })) (if_statement "if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }" if (parenthesized_expression "(local_65 != '\0')" ( (binary_expression "local_65 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }" { (if_statement "if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }" if (parenthesized_expression "(DAT_000b14e0 == 0)" ( (binary_expression "DAT_000b14e0 == 0" identifier == number_literal) )) (compound_statement "{\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }" { (expression_statement "DAT_000b14e0 = FUN_0002aff0(0);" (assignment_expression "DAT_000b14e0 = FUN_0002aff0(0)" identifier = (call_expression "FUN_0002aff0(0)" identifier (argument_list "(0)" ( number_literal )))) ;) })) (expression_statement "piVar8[4] = piVar8[4] + 1;" (assignment_expression "piVar8[4] = piVar8[4] + 1" (subscript_expression "piVar8[4]" identifier [ number_literal ]) = (binary_expression "piVar8[4] + 1" (subscript_expression "piVar8[4]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "uVar7 = FUN_0004f740(param_1);" (assignment_expression "uVar7 = FUN_0004f740(param_1)" identifier = (call_expression "FUN_0004f740(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);" (call_expression "FUN_0002aa50(DAT_000b14e0,uVar7,piVar8)" identifier (argument_list "(DAT_000b14e0,uVar7,piVar8)" ( identifier , identifier , identifier ))) ;) (if_statement "if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }" if (parenthesized_expression "(DAT_000b6b9b != '\0')" ( (binary_expression "DAT_000b6b9b != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }" { (expression_statement "FUN_0003e2e0("Caching %s =>",param_1);" (call_expression "FUN_0003e2e0("Caching %s =>",param_1)" identifier (argument_list "("Caching %s =>",param_1)" ( (string_literal ""Caching %s =>"" " string_content ") , identifier ))) ;) (if_statement "if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }" if (parenthesized_expression "(0 < *piVar8)" ( (binary_expression "0 < *piVar8" number_literal < (pointer_expression "*piVar8" * identifier)) )) (compound_statement "{\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (do_statement "do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);" do (compound_statement "{\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              }" { (while_statement "while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }" while (parenthesized_expression "(piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0)" ( (comma_expression "piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0" (assignment_expression "piVar11 = (int *)(piVar8[1] + iVar14 * 0x18)" identifier = (cast_expression "(int *)(piVar8[1] + iVar14 * 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8[1] + iVar14 * 0x18)" ( (binary_expression "piVar8[1] + iVar14 * 0x18" (subscript_expression "piVar8[1]" identifier [ number_literal ]) + (binary_expression "iVar14 * 0x18" identifier * number_literal)) )))) , (comma_expression "pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0" (assignment_expression "pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" identifier = (call_expression "inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" identifier (argument_list "(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" ( (pointer_expression "*piVar11" * identifier) , (binary_expression "piVar11 + 1" identifier + number_literal) , (pointer_expression "&DAT_000b14a0" & identifier) , number_literal )))) , (comma_expression "param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0" (assignment_expression "param_1 = &DAT_000b14a0" identifier = (pointer_expression "&DAT_000b14a0" & identifier)) , (binary_expression "pcVar4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))))) )) (compound_statement "{\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }" { (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0003e2e0(" %s",&DAT_000b14a0);" (call_expression "FUN_0003e2e0(" %s",&DAT_000b14a0)" identifier (argument_list "(" %s",&DAT_000b14a0)" ( (string_literal "" %s"" " string_content ") , (pointer_expression "&DAT_000b14a0" & identifier) ))) ;) (if_statement "if (*piVar8 <= iVar14) goto LAB_0002bc5a;" if (parenthesized_expression "(*piVar8 <= iVar14)" ( (binary_expression "*piVar8 <= iVar14" (pointer_expression "*piVar8" * identifier) <= identifier) )) (goto_statement "goto LAB_0002bc5a;" goto statement_identifier ;)) })) (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = FUN_0007a3a0(*piVar11);" (assignment_expression "uVar7 = FUN_0007a3a0(*piVar11)" identifier = (call_expression "FUN_0007a3a0(*piVar11)" identifier (argument_list "(*piVar11)" ( (pointer_expression "*piVar11" * identifier) )))) ;) (expression_statement "__snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);" (call_expression "__snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7)" identifier (argument_list "(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7)" ( (pointer_expression "&DAT_000b14a0" & identifier) , number_literal , number_literal , number_literal , (string_literal ""<error: %s>"" " string_content ") , identifier ))) ;) (expression_statement "FUN_0003e2e0(" %s",&DAT_000b14a0);" (call_expression "FUN_0003e2e0(" %s",&DAT_000b14a0)" identifier (argument_list "(" %s",&DAT_000b14a0)" ( (string_literal "" %s"" " string_content ") , (pointer_expression "&DAT_000b14a0" & identifier) ))) ;) }) while (parenthesized_expression "(iVar14 < *piVar8)" ( (binary_expression "iVar14 < *piVar8" identifier < (pointer_expression "*piVar8" * identifier)) )) ;) })) (labeled_statement "LAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);" statement_identifier : (expression_statement "FUN_0003e2e0("\n",param_1);" (call_expression "FUN_0003e2e0("\n",param_1)" identifier (argument_list "("\n",param_1)" ( (string_literal ""\n"" " escape_sequence ") , identifier ))) ;)) })) })) (goto_statement "goto LAB_0002bafc;" goto statement_identifier ;) })) (expression_statement "local_64 = uVar18;" (assignment_expression "local_64 = uVar18" identifier = identifier) ;) (if_statement "if (uVar18 == 0) goto LAB_0002bce8;" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0002bce8;" goto statement_identifier ;)) }) (else_clause "else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }" else (if_statement "if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }" { (if_statement "if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }" if (parenthesized_expression "(local_44 == 0xfffffff5)" ( (binary_expression "local_44 == 0xfffffff5" identifier == number_literal) )) (compound_statement "{\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }" { (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar14 = *piVar8;" (assignment_expression "iVar14 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (goto_statement "goto LAB_0002bcca;" goto statement_identifier ;) })) (labeled_statement "LAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);" statement_identifier : (expression_statement "pcVar4 = gai_strerror(local_64);" (assignment_expression "pcVar4 = gai_strerror(local_64)" identifier = (call_expression "gai_strerror(local_64)" identifier (argument_list "(local_64)" ( identifier )))) ;)) (goto_statement "goto LAB_0002bcf9;" goto statement_identifier ;) })))) }) (else_clause "else {\n    piVar8 = __errno_location();\n    *piVar8 = 0x6e;\n    if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }\n  }" else (compound_statement "{\n    piVar8 = __errno_location();\n    *piVar8 = 0x6e;\n    if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }\n  }" { (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar8 = 0x6e;" (assignment_expression "*piVar8 = 0x6e" (pointer_expression "*piVar8" * identifier) = number_literal) ;) (if_statement "if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }" { (expression_statement "iVar14 = 0x6e;" (assignment_expression "iVar14 = 0x6e" identifier = number_literal) ;) (labeled_statement "LAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);" statement_identifier : (expression_statement "pcVar4 = (char *)FUN_0007a3a0(iVar14);" (assignment_expression "pcVar4 = (char *)FUN_0007a3a0(iVar14)" identifier = (cast_expression "(char *)FUN_0007a3a0(iVar14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0007a3a0(iVar14)" identifier (argument_list "(iVar14)" ( identifier ))))) ;)) (labeled_statement "LAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);" statement_identifier : (expression_statement "uVar7 = dcgettext(0,"failed: %s.\n",5);" (assignment_expression "uVar7 = dcgettext(0,"failed: %s.\n",5)" identifier = (call_expression "dcgettext(0,"failed: %s.\n",5)" identifier (argument_list "(0,"failed: %s.\n",5)" ( number_literal , (string_literal ""failed: %s.\n"" " string_content escape_sequence ") , number_literal )))) ;)) (expression_statement "FUN_0003df30(0,uVar7,pcVar4);" (call_expression "FUN_0003df30(0,uVar7,pcVar4)" identifier (argument_list "(0,uVar7,pcVar4)" ( number_literal , identifier , identifier ))) ;) })) }))) (expression_statement "piVar8 = (int *)0x0;" (assignment_expression "piVar8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0002bafc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0007ad20();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0007ad20();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0007ad20();\n  }" { comment (expression_statement "FUN_0007ad20();" (call_expression "FUN_0007ad20()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return piVar8;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\naddress_list * lookup_host(char *host,int flags)\n\n{\n  int iVar1;\n  sockaddr *psVar2;\n  _Bool _Var3;\n  size_t sVar4;\n  char *pcVar5;\n  int iVar6;\n  uint uVar7;\n  address_list *value;\n  ip_address *piVar8;\n  ip_address *piVar9;\n  int *piVar10;\n  char *pcVar11;\n  void *__ptr;\n  int iVar12;\n  _func_int_void_ptr_void_ptr *cmpfun;\n  uint unaff_EBP;\n  addrinfo *paVar13;\n  uint uVar14;\n  char *pcVar15;\n  addrinfo *paVar16;\n  int in_GS_OFFSET;\n  bool bVar17;\n  int local_80;\n  double local_74;\n  char local_65;\n  uint local_64;\n  addrinfo *res;\n  gaiwt_context ctx;\n  addrinfo hints;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  local_74 = opt.dns_timeout;\n  uVar14 = flags & 1;\n  sVar4 = strlen(host);\n  pcVar5 = host + sVar4;\n  if (host < pcVar5) {\n    iVar6 = 0;\n    bVar17 = false;\n    iVar12 = 0;\n    pcVar11 = host;\n    do {\n      while( true ) {\n        pcVar15 = pcVar11 + 1;\n        unaff_EBP = (int)*pcVar11 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar17 = (bool)(bVar17 & *pcVar11 == 0x2e ^ 1U | iVar6 == 4);\n        if (bVar17) goto LAB_0002b710;\n        iVar12 = 0;\n        pcVar11 = pcVar15;\n        if (pcVar5 == pcVar15) goto LAB_0002b6f2;\n      }\n      iVar12 = unaff_EBP + iVar12 * 10;\n      if (0xff < iVar12) goto LAB_0002b710;\n      if (!bVar17) {\n        iVar6 = iVar6 + 1;\n        if (4 < iVar6) goto LAB_0002b710;\n        bVar17 = true;\n      }\n      pcVar11 = pcVar15;\n    } while (pcVar5 != pcVar15);\nLAB_0002b6f2:\n    if (iVar6 < 4) goto LAB_0002b710;\n    _Var3 = true;\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }\n  else {\nLAB_0002b710:\n    _Var3 = is_valid_ipv6_address(host,pcVar5);\n    if (_Var3) {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n    else {\n      local_65 = opt.dns_cache;\n      if ((flags & 2U) == 0) {\n        if (opt.dns_cache != false) {\n          if ((flags & 4U) == 0) {\n            if ((host_name_addresses_map != (hash_table *)0x0) &&\n               (value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0)) {\n              if (opt.debug != false) {\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }\n              value->refcount = value->refcount + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((host_name_addresses_map != (hash_table *)0x0) &&\n                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)) {\n            iVar12 = *(int *)((int)__ptr + 0x10) + -1;\n            bVar17 = opt.debug == false;\n            *(int *)((int)__ptr + 0x10) = iVar12;\n            if (bVar17) {\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }\n            else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            hash_table_remove(host_name_addresses_map,host);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~flags & 1U);\n      if ((~flags & 1U) == 0) {\n        _Var3 = false;\n      }\n      else {\n        pcVar5 = host;\n        if ((opt.enable_iri == false) || (pcVar11 = idn_decode(host), pcVar11 == (char *)0x0)) {\n          pcVar15 = (char *)0x0;\n        }\n        else {\n          pcVar15 = aprintf("%s (%s)",pcVar11,host);\n          free(pcVar11);\n          if (pcVar15 != (char *)0x0) {\n            pcVar5 = pcVar15;\n          }\n        }\n        pcVar5 = quotearg_style(escape_quoting_style,pcVar5);\n        pcVar11 = (char *)dcgettext(0,"Resolving %s... ",5);\n        logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n        free(pcVar15);\n      }\n    }\n  }\n  ctx.hints = &hints;\n  uVar7 = 0;\n  do {\n    *(undefined4 *)((int)&(ctx.hints)->ai_flags + uVar7) = 0;\n    uVar7 = uVar7 + 4;\n  } while (uVar7 < 0x20);\n  hints.ai_socktype = 1;\n  if (opt.ipv4_only == false) {\n    if (opt.ipv6_only != false) {\n      hints.ai_family = 10;\n    }\n  }\n  else {\n    hints.ai_family = 2;\n  }\n  iVar12 = 4;\n  if ((flags & 2U) != 0) {\n    hints.ai_flags = 1;\n    iVar12 = 5;\n  }\n  if (_Var3 != false) {\n    local_74 = 0.0;\n    hints.ai_flags = iVar12;\n  }\n  ctx.service = (char *)0x0;\n  ctx.node = host;\n  ctx.res = &res;\n  _Var3 = run_with_timeout(local_74,getaddrinfo_with_timeout_callback,&ctx);\n  paVar16 = res;\n  if (_Var3) {\n    piVar10 = __errno_location();\n    *piVar10 = 0x6e;\n    if (uVar14 == 0) {\n      iVar12 = 0x6e;\nLAB_0002bcca:\n      pcVar5 = rpl_strerror(iVar12);\nLAB_0002bcf9:\n      pcVar11 = (char *)dcgettext(0,"failed: %s.\n",5);\n      logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n    }\n  }\n  else {\n    local_64 = ctx.exit_code;\n    if (ctx.exit_code == 0) {\n      if (res != (addrinfo *)0x0) {\n        iVar12 = 0;\n        paVar13 = res;\n        do {\n          piVar10 = &paVar13->ai_family;\n          paVar13 = paVar13->ai_next;\n          iVar12 = iVar12 + (uint)((*piVar10 & 0xfffffff7U) == 2);\n        } while (paVar13 != (addrinfo *)0x0);\n        if (iVar12 == 0) {\n          freeaddrinfo((addrinfo *)res);\n          pcVar5 = (char *)dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          logprintf(LOG_VERBOSE,pcVar5);\n          value = (address_list *)0x0;\n          goto LAB_0002bafc;\n        }\n        value = (address_list *)xcalloc(1,0x14);\n        piVar8 = (ip_address *)xmalloc(iVar12 * 0x18);\n        value->count = iVar12;\n        value->addresses = piVar8;\n        value->refcount = 1;\n        do {\n          while (paVar16->ai_family != 10) {\n            piVar9 = piVar8;\n            if (paVar16->ai_family == 2) {\n              psVar2 = paVar16->ai_addr;\n              piVar9 = piVar8 + 1;\n              piVar8->family = 2;\n              (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2);\n            }\n            paVar16 = paVar16->ai_next;\n            piVar8 = piVar9;\n            if (paVar16 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar2 = paVar16->ai_addr;\n          paVar16 = paVar16->ai_next;\n          piVar8->family = 10;\n          (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 4) = *(undefined4 *)(psVar2->sa_data + 10);\n          *(undefined4 *)((int)&piVar8->data + 8) = *(undefined4 *)(psVar2 + 1);\n          iVar12 = *(int *)(psVar2[1].sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 0xc) = *(undefined4 *)(psVar2[1].sa_data + 2);\n          piVar8->ipv6_scope = iVar12;\n          piVar8 = piVar8 + 1;\n        } while (paVar16 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo((addrinfo *)res);\n        if ((1 < value->count) && (opt.prefer_family != AP_DECODE_ENTITIES)) {\n          cmpfun = cmp_prefer_ipv4;\n          if (opt.prefer_family != CSSEOF) {\n            cmpfun = cmp_prefer_ipv6;\n          }\n          stable_sort(value->addresses,value->count,0x18,cmpfun);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = value->count;\n          if ((opt.show_all_dns_entries == true) || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar12 = local_80 + -1;\n              if (0 < iVar12) goto LAB_0002b927;\n              iVar6 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar12 = 2;\nLAB_0002b927:\n            if (local_80 < iVar12) {\n              iVar12 = local_80;\n            }\n            iVar6 = 0;\n            do {\n              pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40);\n              if (pcVar5 == (char *)0x0) {\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }\n              iVar6 = iVar6 + 1;\n              logputs(LOG_VERBOSE,buf_6806);\n              logputs(LOG_VERBOSE,", ");\n            } while (iVar6 < iVar12);\n            if (iVar6 < local_80) {\nLAB_0002bb53:\n              do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);\n            }\n            if (value->count != local_80) {\n              logputs(LOG_VERBOSE,", ...");\n            }\n          }\n          logputs(LOG_VERBOSE,"\n");\n        }\n        if (local_65 != '\0') {\n          if (host_name_addresses_map == (hash_table *)0x0) {\n            host_name_addresses_map = make_nocase_string_hash_table(0);\n          }\n          value->refcount = value->refcount + 1;\n          pcVar5 = xstrdup_lower(host);\n          hash_table_put(host_name_addresses_map,pcVar5,value);\n          if (opt.debug != false) {\n            debug_logprintf("Caching %s =>",host);\n            if (0 < value->count) {\n              iVar12 = 0;\n              do {\n                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }\n                piVar10 = __errno_location();\n                iVar12 = iVar12 + 1;\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                debug_logprintf(" %s",buf_6806);\n              } while (iVar12 < value->count);\n            }\nLAB_0002bc5a:\n            debug_logprintf("\n",host);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar14;\n      if (uVar14 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar14 == 0) {\n      if (ctx.exit_code == -0xb) {\n        piVar10 = __errno_location();\n        iVar12 = *piVar10;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar5 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }\n  value = (address_list *)0x0;\nLAB_0002bafc:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return value;\n}\n\n" comment comment comment (function_definition "address_list * lookup_host(char *host,int flags)\n\n{\n  int iVar1;\n  sockaddr *psVar2;\n  _Bool _Var3;\n  size_t sVar4;\n  char *pcVar5;\n  int iVar6;\n  uint uVar7;\n  address_list *value;\n  ip_address *piVar8;\n  ip_address *piVar9;\n  int *piVar10;\n  char *pcVar11;\n  void *__ptr;\n  int iVar12;\n  _func_int_void_ptr_void_ptr *cmpfun;\n  uint unaff_EBP;\n  addrinfo *paVar13;\n  uint uVar14;\n  char *pcVar15;\n  addrinfo *paVar16;\n  int in_GS_OFFSET;\n  bool bVar17;\n  int local_80;\n  double local_74;\n  char local_65;\n  uint local_64;\n  addrinfo *res;\n  gaiwt_context ctx;\n  addrinfo hints;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  local_74 = opt.dns_timeout;\n  uVar14 = flags & 1;\n  sVar4 = strlen(host);\n  pcVar5 = host + sVar4;\n  if (host < pcVar5) {\n    iVar6 = 0;\n    bVar17 = false;\n    iVar12 = 0;\n    pcVar11 = host;\n    do {\n      while( true ) {\n        pcVar15 = pcVar11 + 1;\n        unaff_EBP = (int)*pcVar11 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar17 = (bool)(bVar17 & *pcVar11 == 0x2e ^ 1U | iVar6 == 4);\n        if (bVar17) goto LAB_0002b710;\n        iVar12 = 0;\n        pcVar11 = pcVar15;\n        if (pcVar5 == pcVar15) goto LAB_0002b6f2;\n      }\n      iVar12 = unaff_EBP + iVar12 * 10;\n      if (0xff < iVar12) goto LAB_0002b710;\n      if (!bVar17) {\n        iVar6 = iVar6 + 1;\n        if (4 < iVar6) goto LAB_0002b710;\n        bVar17 = true;\n      }\n      pcVar11 = pcVar15;\n    } while (pcVar5 != pcVar15);\nLAB_0002b6f2:\n    if (iVar6 < 4) goto LAB_0002b710;\n    _Var3 = true;\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }\n  else {\nLAB_0002b710:\n    _Var3 = is_valid_ipv6_address(host,pcVar5);\n    if (_Var3) {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n    else {\n      local_65 = opt.dns_cache;\n      if ((flags & 2U) == 0) {\n        if (opt.dns_cache != false) {\n          if ((flags & 4U) == 0) {\n            if ((host_name_addresses_map != (hash_table *)0x0) &&\n               (value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0)) {\n              if (opt.debug != false) {\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }\n              value->refcount = value->refcount + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((host_name_addresses_map != (hash_table *)0x0) &&\n                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)) {\n            iVar12 = *(int *)((int)__ptr + 0x10) + -1;\n            bVar17 = opt.debug == false;\n            *(int *)((int)__ptr + 0x10) = iVar12;\n            if (bVar17) {\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }\n            else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            hash_table_remove(host_name_addresses_map,host);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~flags & 1U);\n      if ((~flags & 1U) == 0) {\n        _Var3 = false;\n      }\n      else {\n        pcVar5 = host;\n        if ((opt.enable_iri == false) || (pcVar11 = idn_decode(host), pcVar11 == (char *)0x0)) {\n          pcVar15 = (char *)0x0;\n        }\n        else {\n          pcVar15 = aprintf("%s (%s)",pcVar11,host);\n          free(pcVar11);\n          if (pcVar15 != (char *)0x0) {\n            pcVar5 = pcVar15;\n          }\n        }\n        pcVar5 = quotearg_style(escape_quoting_style,pcVar5);\n        pcVar11 = (char *)dcgettext(0,"Resolving %s... ",5);\n        logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n        free(pcVar15);\n      }\n    }\n  }\n  ctx.hints = &hints;\n  uVar7 = 0;\n  do {\n    *(undefined4 *)((int)&(ctx.hints)->ai_flags + uVar7) = 0;\n    uVar7 = uVar7 + 4;\n  } while (uVar7 < 0x20);\n  hints.ai_socktype = 1;\n  if (opt.ipv4_only == false) {\n    if (opt.ipv6_only != false) {\n      hints.ai_family = 10;\n    }\n  }\n  else {\n    hints.ai_family = 2;\n  }\n  iVar12 = 4;\n  if ((flags & 2U) != 0) {\n    hints.ai_flags = 1;\n    iVar12 = 5;\n  }\n  if (_Var3 != false) {\n    local_74 = 0.0;\n    hints.ai_flags = iVar12;\n  }\n  ctx.service = (char *)0x0;\n  ctx.node = host;\n  ctx.res = &res;\n  _Var3 = run_with_timeout(local_74,getaddrinfo_with_timeout_callback,&ctx);\n  paVar16 = res;\n  if (_Var3) {\n    piVar10 = __errno_location();\n    *piVar10 = 0x6e;\n    if (uVar14 == 0) {\n      iVar12 = 0x6e;\nLAB_0002bcca:\n      pcVar5 = rpl_strerror(iVar12);\nLAB_0002bcf9:\n      pcVar11 = (char *)dcgettext(0,"failed: %s.\n",5);\n      logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n    }\n  }\n  else {\n    local_64 = ctx.exit_code;\n    if (ctx.exit_code == 0) {\n      if (res != (addrinfo *)0x0) {\n        iVar12 = 0;\n        paVar13 = res;\n        do {\n          piVar10 = &paVar13->ai_family;\n          paVar13 = paVar13->ai_next;\n          iVar12 = iVar12 + (uint)((*piVar10 & 0xfffffff7U) == 2);\n        } while (paVar13 != (addrinfo *)0x0);\n        if (iVar12 == 0) {\n          freeaddrinfo((addrinfo *)res);\n          pcVar5 = (char *)dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          logprintf(LOG_VERBOSE,pcVar5);\n          value = (address_list *)0x0;\n          goto LAB_0002bafc;\n        }\n        value = (address_list *)xcalloc(1,0x14);\n        piVar8 = (ip_address *)xmalloc(iVar12 * 0x18);\n        value->count = iVar12;\n        value->addresses = piVar8;\n        value->refcount = 1;\n        do {\n          while (paVar16->ai_family != 10) {\n            piVar9 = piVar8;\n            if (paVar16->ai_family == 2) {\n              psVar2 = paVar16->ai_addr;\n              piVar9 = piVar8 + 1;\n              piVar8->family = 2;\n              (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2);\n            }\n            paVar16 = paVar16->ai_next;\n            piVar8 = piVar9;\n            if (paVar16 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar2 = paVar16->ai_addr;\n          paVar16 = paVar16->ai_next;\n          piVar8->family = 10;\n          (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 4) = *(undefined4 *)(psVar2->sa_data + 10);\n          *(undefined4 *)((int)&piVar8->data + 8) = *(undefined4 *)(psVar2 + 1);\n          iVar12 = *(int *)(psVar2[1].sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 0xc) = *(undefined4 *)(psVar2[1].sa_data + 2);\n          piVar8->ipv6_scope = iVar12;\n          piVar8 = piVar8 + 1;\n        } while (paVar16 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo((addrinfo *)res);\n        if ((1 < value->count) && (opt.prefer_family != AP_DECODE_ENTITIES)) {\n          cmpfun = cmp_prefer_ipv4;\n          if (opt.prefer_family != CSSEOF) {\n            cmpfun = cmp_prefer_ipv6;\n          }\n          stable_sort(value->addresses,value->count,0x18,cmpfun);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = value->count;\n          if ((opt.show_all_dns_entries == true) || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar12 = local_80 + -1;\n              if (0 < iVar12) goto LAB_0002b927;\n              iVar6 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar12 = 2;\nLAB_0002b927:\n            if (local_80 < iVar12) {\n              iVar12 = local_80;\n            }\n            iVar6 = 0;\n            do {\n              pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40);\n              if (pcVar5 == (char *)0x0) {\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }\n              iVar6 = iVar6 + 1;\n              logputs(LOG_VERBOSE,buf_6806);\n              logputs(LOG_VERBOSE,", ");\n            } while (iVar6 < iVar12);\n            if (iVar6 < local_80) {\nLAB_0002bb53:\n              do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);\n            }\n            if (value->count != local_80) {\n              logputs(LOG_VERBOSE,", ...");\n            }\n          }\n          logputs(LOG_VERBOSE,"\n");\n        }\n        if (local_65 != '\0') {\n          if (host_name_addresses_map == (hash_table *)0x0) {\n            host_name_addresses_map = make_nocase_string_hash_table(0);\n          }\n          value->refcount = value->refcount + 1;\n          pcVar5 = xstrdup_lower(host);\n          hash_table_put(host_name_addresses_map,pcVar5,value);\n          if (opt.debug != false) {\n            debug_logprintf("Caching %s =>",host);\n            if (0 < value->count) {\n              iVar12 = 0;\n              do {\n                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }\n                piVar10 = __errno_location();\n                iVar12 = iVar12 + 1;\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                debug_logprintf(" %s",buf_6806);\n              } while (iVar12 < value->count);\n            }\nLAB_0002bc5a:\n            debug_logprintf("\n",host);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar14;\n      if (uVar14 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar14 == 0) {\n      if (ctx.exit_code == -0xb) {\n        piVar10 = __errno_location();\n        iVar12 = *piVar10;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar5 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }\n  value = (address_list *)0x0;\nLAB_0002bafc:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return value;\n}" type_identifier (pointer_declarator "* lookup_host(char *host,int flags)" * (function_declarator "lookup_host(char *host,int flags)" identifier (parameter_list "(char *host,int flags)" ( (parameter_declaration "char *host" primitive_type (pointer_declarator "*host" * identifier)) , (parameter_declaration "int flags" primitive_type identifier) )))) (compound_statement "{\n  int iVar1;\n  sockaddr *psVar2;\n  _Bool _Var3;\n  size_t sVar4;\n  char *pcVar5;\n  int iVar6;\n  uint uVar7;\n  address_list *value;\n  ip_address *piVar8;\n  ip_address *piVar9;\n  int *piVar10;\n  char *pcVar11;\n  void *__ptr;\n  int iVar12;\n  _func_int_void_ptr_void_ptr *cmpfun;\n  uint unaff_EBP;\n  addrinfo *paVar13;\n  uint uVar14;\n  char *pcVar15;\n  addrinfo *paVar16;\n  int in_GS_OFFSET;\n  bool bVar17;\n  int local_80;\n  double local_74;\n  char local_65;\n  uint local_64;\n  addrinfo *res;\n  gaiwt_context ctx;\n  addrinfo hints;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  local_74 = opt.dns_timeout;\n  uVar14 = flags & 1;\n  sVar4 = strlen(host);\n  pcVar5 = host + sVar4;\n  if (host < pcVar5) {\n    iVar6 = 0;\n    bVar17 = false;\n    iVar12 = 0;\n    pcVar11 = host;\n    do {\n      while( true ) {\n        pcVar15 = pcVar11 + 1;\n        unaff_EBP = (int)*pcVar11 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar17 = (bool)(bVar17 & *pcVar11 == 0x2e ^ 1U | iVar6 == 4);\n        if (bVar17) goto LAB_0002b710;\n        iVar12 = 0;\n        pcVar11 = pcVar15;\n        if (pcVar5 == pcVar15) goto LAB_0002b6f2;\n      }\n      iVar12 = unaff_EBP + iVar12 * 10;\n      if (0xff < iVar12) goto LAB_0002b710;\n      if (!bVar17) {\n        iVar6 = iVar6 + 1;\n        if (4 < iVar6) goto LAB_0002b710;\n        bVar17 = true;\n      }\n      pcVar11 = pcVar15;\n    } while (pcVar5 != pcVar15);\nLAB_0002b6f2:\n    if (iVar6 < 4) goto LAB_0002b710;\n    _Var3 = true;\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }\n  else {\nLAB_0002b710:\n    _Var3 = is_valid_ipv6_address(host,pcVar5);\n    if (_Var3) {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n    else {\n      local_65 = opt.dns_cache;\n      if ((flags & 2U) == 0) {\n        if (opt.dns_cache != false) {\n          if ((flags & 4U) == 0) {\n            if ((host_name_addresses_map != (hash_table *)0x0) &&\n               (value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0)) {\n              if (opt.debug != false) {\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }\n              value->refcount = value->refcount + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((host_name_addresses_map != (hash_table *)0x0) &&\n                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)) {\n            iVar12 = *(int *)((int)__ptr + 0x10) + -1;\n            bVar17 = opt.debug == false;\n            *(int *)((int)__ptr + 0x10) = iVar12;\n            if (bVar17) {\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }\n            else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            hash_table_remove(host_name_addresses_map,host);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~flags & 1U);\n      if ((~flags & 1U) == 0) {\n        _Var3 = false;\n      }\n      else {\n        pcVar5 = host;\n        if ((opt.enable_iri == false) || (pcVar11 = idn_decode(host), pcVar11 == (char *)0x0)) {\n          pcVar15 = (char *)0x0;\n        }\n        else {\n          pcVar15 = aprintf("%s (%s)",pcVar11,host);\n          free(pcVar11);\n          if (pcVar15 != (char *)0x0) {\n            pcVar5 = pcVar15;\n          }\n        }\n        pcVar5 = quotearg_style(escape_quoting_style,pcVar5);\n        pcVar11 = (char *)dcgettext(0,"Resolving %s... ",5);\n        logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n        free(pcVar15);\n      }\n    }\n  }\n  ctx.hints = &hints;\n  uVar7 = 0;\n  do {\n    *(undefined4 *)((int)&(ctx.hints)->ai_flags + uVar7) = 0;\n    uVar7 = uVar7 + 4;\n  } while (uVar7 < 0x20);\n  hints.ai_socktype = 1;\n  if (opt.ipv4_only == false) {\n    if (opt.ipv6_only != false) {\n      hints.ai_family = 10;\n    }\n  }\n  else {\n    hints.ai_family = 2;\n  }\n  iVar12 = 4;\n  if ((flags & 2U) != 0) {\n    hints.ai_flags = 1;\n    iVar12 = 5;\n  }\n  if (_Var3 != false) {\n    local_74 = 0.0;\n    hints.ai_flags = iVar12;\n  }\n  ctx.service = (char *)0x0;\n  ctx.node = host;\n  ctx.res = &res;\n  _Var3 = run_with_timeout(local_74,getaddrinfo_with_timeout_callback,&ctx);\n  paVar16 = res;\n  if (_Var3) {\n    piVar10 = __errno_location();\n    *piVar10 = 0x6e;\n    if (uVar14 == 0) {\n      iVar12 = 0x6e;\nLAB_0002bcca:\n      pcVar5 = rpl_strerror(iVar12);\nLAB_0002bcf9:\n      pcVar11 = (char *)dcgettext(0,"failed: %s.\n",5);\n      logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n    }\n  }\n  else {\n    local_64 = ctx.exit_code;\n    if (ctx.exit_code == 0) {\n      if (res != (addrinfo *)0x0) {\n        iVar12 = 0;\n        paVar13 = res;\n        do {\n          piVar10 = &paVar13->ai_family;\n          paVar13 = paVar13->ai_next;\n          iVar12 = iVar12 + (uint)((*piVar10 & 0xfffffff7U) == 2);\n        } while (paVar13 != (addrinfo *)0x0);\n        if (iVar12 == 0) {\n          freeaddrinfo((addrinfo *)res);\n          pcVar5 = (char *)dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          logprintf(LOG_VERBOSE,pcVar5);\n          value = (address_list *)0x0;\n          goto LAB_0002bafc;\n        }\n        value = (address_list *)xcalloc(1,0x14);\n        piVar8 = (ip_address *)xmalloc(iVar12 * 0x18);\n        value->count = iVar12;\n        value->addresses = piVar8;\n        value->refcount = 1;\n        do {\n          while (paVar16->ai_family != 10) {\n            piVar9 = piVar8;\n            if (paVar16->ai_family == 2) {\n              psVar2 = paVar16->ai_addr;\n              piVar9 = piVar8 + 1;\n              piVar8->family = 2;\n              (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2);\n            }\n            paVar16 = paVar16->ai_next;\n            piVar8 = piVar9;\n            if (paVar16 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar2 = paVar16->ai_addr;\n          paVar16 = paVar16->ai_next;\n          piVar8->family = 10;\n          (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 4) = *(undefined4 *)(psVar2->sa_data + 10);\n          *(undefined4 *)((int)&piVar8->data + 8) = *(undefined4 *)(psVar2 + 1);\n          iVar12 = *(int *)(psVar2[1].sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 0xc) = *(undefined4 *)(psVar2[1].sa_data + 2);\n          piVar8->ipv6_scope = iVar12;\n          piVar8 = piVar8 + 1;\n        } while (paVar16 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo((addrinfo *)res);\n        if ((1 < value->count) && (opt.prefer_family != AP_DECODE_ENTITIES)) {\n          cmpfun = cmp_prefer_ipv4;\n          if (opt.prefer_family != CSSEOF) {\n            cmpfun = cmp_prefer_ipv6;\n          }\n          stable_sort(value->addresses,value->count,0x18,cmpfun);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = value->count;\n          if ((opt.show_all_dns_entries == true) || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar12 = local_80 + -1;\n              if (0 < iVar12) goto LAB_0002b927;\n              iVar6 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar12 = 2;\nLAB_0002b927:\n            if (local_80 < iVar12) {\n              iVar12 = local_80;\n            }\n            iVar6 = 0;\n            do {\n              pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40);\n              if (pcVar5 == (char *)0x0) {\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }\n              iVar6 = iVar6 + 1;\n              logputs(LOG_VERBOSE,buf_6806);\n              logputs(LOG_VERBOSE,", ");\n            } while (iVar6 < iVar12);\n            if (iVar6 < local_80) {\nLAB_0002bb53:\n              do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);\n            }\n            if (value->count != local_80) {\n              logputs(LOG_VERBOSE,", ...");\n            }\n          }\n          logputs(LOG_VERBOSE,"\n");\n        }\n        if (local_65 != '\0') {\n          if (host_name_addresses_map == (hash_table *)0x0) {\n            host_name_addresses_map = make_nocase_string_hash_table(0);\n          }\n          value->refcount = value->refcount + 1;\n          pcVar5 = xstrdup_lower(host);\n          hash_table_put(host_name_addresses_map,pcVar5,value);\n          if (opt.debug != false) {\n            debug_logprintf("Caching %s =>",host);\n            if (0 < value->count) {\n              iVar12 = 0;\n              do {\n                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }\n                piVar10 = __errno_location();\n                iVar12 = iVar12 + 1;\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                debug_logprintf(" %s",buf_6806);\n              } while (iVar12 < value->count);\n            }\nLAB_0002bc5a:\n            debug_logprintf("\n",host);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar14;\n      if (uVar14 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar14 == 0) {\n      if (ctx.exit_code == -0xb) {\n        piVar10 = __errno_location();\n        iVar12 = *piVar10;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar5 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }\n  value = (address_list *)0x0;\nLAB_0002bafc:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return value;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "sockaddr *psVar2;" type_identifier (pointer_declarator "*psVar2" * identifier) ;) (declaration "_Bool _Var3;" type_identifier identifier ;) (declaration "size_t sVar4;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "address_list *value;" type_identifier (pointer_declarator "*value" * identifier) ;) (declaration "ip_address *piVar8;" type_identifier (pointer_declarator "*piVar8" * identifier) ;) (declaration "ip_address *piVar9;" type_identifier (pointer_declarator "*piVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "void *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "_func_int_void_ptr_void_ptr *cmpfun;" type_identifier (pointer_declarator "*cmpfun" * identifier) ;) (declaration "uint unaff_EBP;" type_identifier identifier ;) (declaration "addrinfo *paVar13;" type_identifier (pointer_declarator "*paVar13" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "addrinfo *paVar16;" type_identifier (pointer_declarator "*paVar16" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "int local_80;" primitive_type identifier ;) (declaration "double local_74;" primitive_type identifier ;) (declaration "char local_65;" primitive_type identifier ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "addrinfo *res;" type_identifier (pointer_declarator "*res" * identifier) ;) (declaration "gaiwt_context ctx;" type_identifier identifier ;) (declaration "addrinfo hints;" type_identifier identifier ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_74 = opt.dns_timeout;" (assignment_expression "local_74 = opt.dns_timeout" identifier = (field_expression "opt.dns_timeout" identifier . field_identifier)) ;) (expression_statement "uVar14 = flags & 1;" (assignment_expression "uVar14 = flags & 1" identifier = (binary_expression "flags & 1" identifier & number_literal)) ;) (expression_statement "sVar4 = strlen(host);" (assignment_expression "sVar4 = strlen(host)" identifier = (call_expression "strlen(host)" identifier (argument_list "(host)" ( identifier )))) ;) (expression_statement "pcVar5 = host + sVar4;" (assignment_expression "pcVar5 = host + sVar4" identifier = (binary_expression "host + sVar4" identifier + identifier)) ;) (if_statement "if (host < pcVar5) {\n    iVar6 = 0;\n    bVar17 = false;\n    iVar12 = 0;\n    pcVar11 = host;\n    do {\n      while( true ) {\n        pcVar15 = pcVar11 + 1;\n        unaff_EBP = (int)*pcVar11 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar17 = (bool)(bVar17 & *pcVar11 == 0x2e ^ 1U | iVar6 == 4);\n        if (bVar17) goto LAB_0002b710;\n        iVar12 = 0;\n        pcVar11 = pcVar15;\n        if (pcVar5 == pcVar15) goto LAB_0002b6f2;\n      }\n      iVar12 = unaff_EBP + iVar12 * 10;\n      if (0xff < iVar12) goto LAB_0002b710;\n      if (!bVar17) {\n        iVar6 = iVar6 + 1;\n        if (4 < iVar6) goto LAB_0002b710;\n        bVar17 = true;\n      }\n      pcVar11 = pcVar15;\n    } while (pcVar5 != pcVar15);\nLAB_0002b6f2:\n    if (iVar6 < 4) goto LAB_0002b710;\n    _Var3 = true;\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }\n  else {\nLAB_0002b710:\n    _Var3 = is_valid_ipv6_address(host,pcVar5);\n    if (_Var3) {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n    else {\n      local_65 = opt.dns_cache;\n      if ((flags & 2U) == 0) {\n        if (opt.dns_cache != false) {\n          if ((flags & 4U) == 0) {\n            if ((host_name_addresses_map != (hash_table *)0x0) &&\n               (value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0)) {\n              if (opt.debug != false) {\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }\n              value->refcount = value->refcount + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((host_name_addresses_map != (hash_table *)0x0) &&\n                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)) {\n            iVar12 = *(int *)((int)__ptr + 0x10) + -1;\n            bVar17 = opt.debug == false;\n            *(int *)((int)__ptr + 0x10) = iVar12;\n            if (bVar17) {\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }\n            else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            hash_table_remove(host_name_addresses_map,host);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~flags & 1U);\n      if ((~flags & 1U) == 0) {\n        _Var3 = false;\n      }\n      else {\n        pcVar5 = host;\n        if ((opt.enable_iri == false) || (pcVar11 = idn_decode(host), pcVar11 == (char *)0x0)) {\n          pcVar15 = (char *)0x0;\n        }\n        else {\n          pcVar15 = aprintf("%s (%s)",pcVar11,host);\n          free(pcVar11);\n          if (pcVar15 != (char *)0x0) {\n            pcVar5 = pcVar15;\n          }\n        }\n        pcVar5 = quotearg_style(escape_quoting_style,pcVar5);\n        pcVar11 = (char *)dcgettext(0,"Resolving %s... ",5);\n        logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n        free(pcVar15);\n      }\n    }\n  }" if (parenthesized_expression "(host < pcVar5)" ( (binary_expression "host < pcVar5" identifier < identifier) )) (compound_statement "{\n    iVar6 = 0;\n    bVar17 = false;\n    iVar12 = 0;\n    pcVar11 = host;\n    do {\n      while( true ) {\n        pcVar15 = pcVar11 + 1;\n        unaff_EBP = (int)*pcVar11 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar17 = (bool)(bVar17 & *pcVar11 == 0x2e ^ 1U | iVar6 == 4);\n        if (bVar17) goto LAB_0002b710;\n        iVar12 = 0;\n        pcVar11 = pcVar15;\n        if (pcVar5 == pcVar15) goto LAB_0002b6f2;\n      }\n      iVar12 = unaff_EBP + iVar12 * 10;\n      if (0xff < iVar12) goto LAB_0002b710;\n      if (!bVar17) {\n        iVar6 = iVar6 + 1;\n        if (4 < iVar6) goto LAB_0002b710;\n        bVar17 = true;\n      }\n      pcVar11 = pcVar15;\n    } while (pcVar5 != pcVar15);\nLAB_0002b6f2:\n    if (iVar6 < 4) goto LAB_0002b710;\n    _Var3 = true;\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" identifier = false) ;) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "pcVar11 = host;" (assignment_expression "pcVar11 = host" identifier = identifier) ;) (do_statement "do {\n      while( true ) {\n        pcVar15 = pcVar11 + 1;\n        unaff_EBP = (int)*pcVar11 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar17 = (bool)(bVar17 & *pcVar11 == 0x2e ^ 1U | iVar6 == 4);\n        if (bVar17) goto LAB_0002b710;\n        iVar12 = 0;\n        pcVar11 = pcVar15;\n        if (pcVar5 == pcVar15) goto LAB_0002b6f2;\n      }\n      iVar12 = unaff_EBP + iVar12 * 10;\n      if (0xff < iVar12) goto LAB_0002b710;\n      if (!bVar17) {\n        iVar6 = iVar6 + 1;\n        if (4 < iVar6) goto LAB_0002b710;\n        bVar17 = true;\n      }\n      pcVar11 = pcVar15;\n    } while (pcVar5 != pcVar15);" do (compound_statement "{\n      while( true ) {\n        pcVar15 = pcVar11 + 1;\n        unaff_EBP = (int)*pcVar11 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar17 = (bool)(bVar17 & *pcVar11 == 0x2e ^ 1U | iVar6 == 4);\n        if (bVar17) goto LAB_0002b710;\n        iVar12 = 0;\n        pcVar11 = pcVar15;\n        if (pcVar5 == pcVar15) goto LAB_0002b6f2;\n      }\n      iVar12 = unaff_EBP + iVar12 * 10;\n      if (0xff < iVar12) goto LAB_0002b710;\n      if (!bVar17) {\n        iVar6 = iVar6 + 1;\n        if (4 < iVar6) goto LAB_0002b710;\n        bVar17 = true;\n      }\n      pcVar11 = pcVar15;\n    }" { (while_statement "while( true ) {\n        pcVar15 = pcVar11 + 1;\n        unaff_EBP = (int)*pcVar11 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar17 = (bool)(bVar17 & *pcVar11 == 0x2e ^ 1U | iVar6 == 4);\n        if (bVar17) goto LAB_0002b710;\n        iVar12 = 0;\n        pcVar11 = pcVar15;\n        if (pcVar5 == pcVar15) goto LAB_0002b6f2;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pcVar15 = pcVar11 + 1;\n        unaff_EBP = (int)*pcVar11 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar17 = (bool)(bVar17 & *pcVar11 == 0x2e ^ 1U | iVar6 == 4);\n        if (bVar17) goto LAB_0002b710;\n        iVar12 = 0;\n        pcVar11 = pcVar15;\n        if (pcVar5 == pcVar15) goto LAB_0002b6f2;\n      }" { (expression_statement "pcVar15 = pcVar11 + 1;" (assignment_expression "pcVar15 = pcVar11 + 1" identifier = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) (expression_statement "unaff_EBP = (int)*pcVar11 - 0x30;" (assignment_expression "unaff_EBP = (int)*pcVar11 - 0x30" identifier = (binary_expression "(int)*pcVar11 - 0x30" (cast_expression "(int)*pcVar11" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar11" * identifier)) - number_literal)) ;) (if_statement "if (unaff_EBP < 10) break;" if (parenthesized_expression "(unaff_EBP < 10)" ( (binary_expression "unaff_EBP < 10" identifier < number_literal) )) (break_statement "break;" break ;)) (expression_statement "bVar17 = (bool)(bVar17 & *pcVar11 == 0x2e ^ 1U | iVar6 == 4);" (assignment_expression "bVar17 = (bool)(bVar17 & *pcVar11 == 0x2e ^ 1U | iVar6 == 4)" identifier = (cast_expression "(bool)(bVar17 & *pcVar11 == 0x2e ^ 1U | iVar6 == 4)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar17 & *pcVar11 == 0x2e ^ 1U | iVar6 == 4)" ( (binary_expression "bVar17 & *pcVar11 == 0x2e ^ 1U | iVar6 == 4" (binary_expression "bVar17 & *pcVar11 == 0x2e ^ 1U" (binary_expression "bVar17 & *pcVar11 == 0x2e" identifier & (binary_expression "*pcVar11 == 0x2e" (pointer_expression "*pcVar11" * identifier) == number_literal)) ^ number_literal) | (binary_expression "iVar6 == 4" identifier == number_literal)) )))) ;) (if_statement "if (bVar17) goto LAB_0002b710;" if (parenthesized_expression "(bVar17)" ( identifier )) (goto_statement "goto LAB_0002b710;" goto statement_identifier ;)) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "pcVar11 = pcVar15;" (assignment_expression "pcVar11 = pcVar15" identifier = identifier) ;) (if_statement "if (pcVar5 == pcVar15) goto LAB_0002b6f2;" if (parenthesized_expression "(pcVar5 == pcVar15)" ( (binary_expression "pcVar5 == pcVar15" identifier == identifier) )) (goto_statement "goto LAB_0002b6f2;" goto statement_identifier ;)) })) (expression_statement "iVar12 = unaff_EBP + iVar12 * 10;" (assignment_expression "iVar12 = unaff_EBP + iVar12 * 10" identifier = (binary_expression "unaff_EBP + iVar12 * 10" identifier + (binary_expression "iVar12 * 10" identifier * number_literal))) ;) (if_statement "if (0xff < iVar12) goto LAB_0002b710;" if (parenthesized_expression "(0xff < iVar12)" ( (binary_expression "0xff < iVar12" number_literal < identifier) )) (goto_statement "goto LAB_0002b710;" goto statement_identifier ;)) (if_statement "if (!bVar17) {\n        iVar6 = iVar6 + 1;\n        if (4 < iVar6) goto LAB_0002b710;\n        bVar17 = true;\n      }" if (parenthesized_expression "(!bVar17)" ( (unary_expression "!bVar17" ! identifier) )) (compound_statement "{\n        iVar6 = iVar6 + 1;\n        if (4 < iVar6) goto LAB_0002b710;\n        bVar17 = true;\n      }" { (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (if_statement "if (4 < iVar6) goto LAB_0002b710;" if (parenthesized_expression "(4 < iVar6)" ( (binary_expression "4 < iVar6" number_literal < identifier) )) (goto_statement "goto LAB_0002b710;" goto statement_identifier ;)) (expression_statement "bVar17 = true;" (assignment_expression "bVar17 = true" identifier = true) ;) })) (expression_statement "pcVar11 = pcVar15;" (assignment_expression "pcVar11 = pcVar15" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar5 != pcVar15)" ( (binary_expression "pcVar5 != pcVar15" identifier != identifier) )) ;) (labeled_statement "LAB_0002b6f2:\n    if (iVar6 < 4) goto LAB_0002b710;" statement_identifier : (if_statement "if (iVar6 < 4) goto LAB_0002b710;" if (parenthesized_expression "(iVar6 < 4)" ( (binary_expression "iVar6 < 4" identifier < number_literal) )) (goto_statement "goto LAB_0002b710;" goto statement_identifier ;))) (expression_statement "_Var3 = true;" (assignment_expression "_Var3 = true" identifier = true) ;) (expression_statement "local_65 = '\0';" (assignment_expression "local_65 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_80._0_1_ = '\0';" (assignment_expression "local_80._0_1_ = '\0'" (field_expression "local_80._0_1_" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\nLAB_0002b710:\n    _Var3 = is_valid_ipv6_address(host,pcVar5);\n    if (_Var3) {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n    else {\n      local_65 = opt.dns_cache;\n      if ((flags & 2U) == 0) {\n        if (opt.dns_cache != false) {\n          if ((flags & 4U) == 0) {\n            if ((host_name_addresses_map != (hash_table *)0x0) &&\n               (value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0)) {\n              if (opt.debug != false) {\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }\n              value->refcount = value->refcount + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((host_name_addresses_map != (hash_table *)0x0) &&\n                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)) {\n            iVar12 = *(int *)((int)__ptr + 0x10) + -1;\n            bVar17 = opt.debug == false;\n            *(int *)((int)__ptr + 0x10) = iVar12;\n            if (bVar17) {\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }\n            else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            hash_table_remove(host_name_addresses_map,host);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~flags & 1U);\n      if ((~flags & 1U) == 0) {\n        _Var3 = false;\n      }\n      else {\n        pcVar5 = host;\n        if ((opt.enable_iri == false) || (pcVar11 = idn_decode(host), pcVar11 == (char *)0x0)) {\n          pcVar15 = (char *)0x0;\n        }\n        else {\n          pcVar15 = aprintf("%s (%s)",pcVar11,host);\n          free(pcVar11);\n          if (pcVar15 != (char *)0x0) {\n            pcVar5 = pcVar15;\n          }\n        }\n        pcVar5 = quotearg_style(escape_quoting_style,pcVar5);\n        pcVar11 = (char *)dcgettext(0,"Resolving %s... ",5);\n        logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n        free(pcVar15);\n      }\n    }\n  }" else (compound_statement "{\nLAB_0002b710:\n    _Var3 = is_valid_ipv6_address(host,pcVar5);\n    if (_Var3) {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n    else {\n      local_65 = opt.dns_cache;\n      if ((flags & 2U) == 0) {\n        if (opt.dns_cache != false) {\n          if ((flags & 4U) == 0) {\n            if ((host_name_addresses_map != (hash_table *)0x0) &&\n               (value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0)) {\n              if (opt.debug != false) {\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }\n              value->refcount = value->refcount + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((host_name_addresses_map != (hash_table *)0x0) &&\n                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)) {\n            iVar12 = *(int *)((int)__ptr + 0x10) + -1;\n            bVar17 = opt.debug == false;\n            *(int *)((int)__ptr + 0x10) = iVar12;\n            if (bVar17) {\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }\n            else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            hash_table_remove(host_name_addresses_map,host);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~flags & 1U);\n      if ((~flags & 1U) == 0) {\n        _Var3 = false;\n      }\n      else {\n        pcVar5 = host;\n        if ((opt.enable_iri == false) || (pcVar11 = idn_decode(host), pcVar11 == (char *)0x0)) {\n          pcVar15 = (char *)0x0;\n        }\n        else {\n          pcVar15 = aprintf("%s (%s)",pcVar11,host);\n          free(pcVar11);\n          if (pcVar15 != (char *)0x0) {\n            pcVar5 = pcVar15;\n          }\n        }\n        pcVar5 = quotearg_style(escape_quoting_style,pcVar5);\n        pcVar11 = (char *)dcgettext(0,"Resolving %s... ",5);\n        logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n        free(pcVar15);\n      }\n    }\n  }" { (labeled_statement "LAB_0002b710:\n    _Var3 = is_valid_ipv6_address(host,pcVar5);" statement_identifier : (expression_statement "_Var3 = is_valid_ipv6_address(host,pcVar5);" (assignment_expression "_Var3 = is_valid_ipv6_address(host,pcVar5)" identifier = (call_expression "is_valid_ipv6_address(host,pcVar5)" identifier (argument_list "(host,pcVar5)" ( identifier , identifier )))) ;)) (if_statement "if (_Var3) {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n    else {\n      local_65 = opt.dns_cache;\n      if ((flags & 2U) == 0) {\n        if (opt.dns_cache != false) {\n          if ((flags & 4U) == 0) {\n            if ((host_name_addresses_map != (hash_table *)0x0) &&\n               (value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0)) {\n              if (opt.debug != false) {\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }\n              value->refcount = value->refcount + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((host_name_addresses_map != (hash_table *)0x0) &&\n                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)) {\n            iVar12 = *(int *)((int)__ptr + 0x10) + -1;\n            bVar17 = opt.debug == false;\n            *(int *)((int)__ptr + 0x10) = iVar12;\n            if (bVar17) {\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }\n            else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            hash_table_remove(host_name_addresses_map,host);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~flags & 1U);\n      if ((~flags & 1U) == 0) {\n        _Var3 = false;\n      }\n      else {\n        pcVar5 = host;\n        if ((opt.enable_iri == false) || (pcVar11 = idn_decode(host), pcVar11 == (char *)0x0)) {\n          pcVar15 = (char *)0x0;\n        }\n        else {\n          pcVar15 = aprintf("%s (%s)",pcVar11,host);\n          free(pcVar11);\n          if (pcVar15 != (char *)0x0) {\n            pcVar5 = pcVar15;\n          }\n        }\n        pcVar5 = quotearg_style(escape_quoting_style,pcVar5);\n        pcVar11 = (char *)dcgettext(0,"Resolving %s... ",5);\n        logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n        free(pcVar15);\n      }\n    }" if (parenthesized_expression "(_Var3)" ( identifier )) (compound_statement "{\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }" { (expression_statement "local_65 = '\0';" (assignment_expression "local_65 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_80._0_1_ = '\0';" (assignment_expression "local_80._0_1_ = '\0'" (field_expression "local_80._0_1_" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n      local_65 = opt.dns_cache;\n      if ((flags & 2U) == 0) {\n        if (opt.dns_cache != false) {\n          if ((flags & 4U) == 0) {\n            if ((host_name_addresses_map != (hash_table *)0x0) &&\n               (value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0)) {\n              if (opt.debug != false) {\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }\n              value->refcount = value->refcount + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((host_name_addresses_map != (hash_table *)0x0) &&\n                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)) {\n            iVar12 = *(int *)((int)__ptr + 0x10) + -1;\n            bVar17 = opt.debug == false;\n            *(int *)((int)__ptr + 0x10) = iVar12;\n            if (bVar17) {\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }\n            else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            hash_table_remove(host_name_addresses_map,host);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~flags & 1U);\n      if ((~flags & 1U) == 0) {\n        _Var3 = false;\n      }\n      else {\n        pcVar5 = host;\n        if ((opt.enable_iri == false) || (pcVar11 = idn_decode(host), pcVar11 == (char *)0x0)) {\n          pcVar15 = (char *)0x0;\n        }\n        else {\n          pcVar15 = aprintf("%s (%s)",pcVar11,host);\n          free(pcVar11);\n          if (pcVar15 != (char *)0x0) {\n            pcVar5 = pcVar15;\n          }\n        }\n        pcVar5 = quotearg_style(escape_quoting_style,pcVar5);\n        pcVar11 = (char *)dcgettext(0,"Resolving %s... ",5);\n        logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n        free(pcVar15);\n      }\n    }" else (compound_statement "{\n      local_65 = opt.dns_cache;\n      if ((flags & 2U) == 0) {\n        if (opt.dns_cache != false) {\n          if ((flags & 4U) == 0) {\n            if ((host_name_addresses_map != (hash_table *)0x0) &&\n               (value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0)) {\n              if (opt.debug != false) {\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }\n              value->refcount = value->refcount + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((host_name_addresses_map != (hash_table *)0x0) &&\n                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)) {\n            iVar12 = *(int *)((int)__ptr + 0x10) + -1;\n            bVar17 = opt.debug == false;\n            *(int *)((int)__ptr + 0x10) = iVar12;\n            if (bVar17) {\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }\n            else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            hash_table_remove(host_name_addresses_map,host);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~flags & 1U);\n      if ((~flags & 1U) == 0) {\n        _Var3 = false;\n      }\n      else {\n        pcVar5 = host;\n        if ((opt.enable_iri == false) || (pcVar11 = idn_decode(host), pcVar11 == (char *)0x0)) {\n          pcVar15 = (char *)0x0;\n        }\n        else {\n          pcVar15 = aprintf("%s (%s)",pcVar11,host);\n          free(pcVar11);\n          if (pcVar15 != (char *)0x0) {\n            pcVar5 = pcVar15;\n          }\n        }\n        pcVar5 = quotearg_style(escape_quoting_style,pcVar5);\n        pcVar11 = (char *)dcgettext(0,"Resolving %s... ",5);\n        logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n        free(pcVar15);\n      }\n    }" { (expression_statement "local_65 = opt.dns_cache;" (assignment_expression "local_65 = opt.dns_cache" identifier = (field_expression "opt.dns_cache" identifier . field_identifier)) ;) (if_statement "if ((flags & 2U) == 0) {\n        if (opt.dns_cache != false) {\n          if ((flags & 4U) == 0) {\n            if ((host_name_addresses_map != (hash_table *)0x0) &&\n               (value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0)) {\n              if (opt.debug != false) {\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }\n              value->refcount = value->refcount + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((host_name_addresses_map != (hash_table *)0x0) &&\n                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)) {\n            iVar12 = *(int *)((int)__ptr + 0x10) + -1;\n            bVar17 = opt.debug == false;\n            *(int *)((int)__ptr + 0x10) = iVar12;\n            if (bVar17) {\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }\n            else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            hash_table_remove(host_name_addresses_map,host);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }" if (parenthesized_expression "((flags & 2U) == 0)" ( (binary_expression "(flags & 2U) == 0" (parenthesized_expression "(flags & 2U)" ( (binary_expression "flags & 2U" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if (opt.dns_cache != false) {\n          if ((flags & 4U) == 0) {\n            if ((host_name_addresses_map != (hash_table *)0x0) &&\n               (value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0)) {\n              if (opt.debug != false) {\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }\n              value->refcount = value->refcount + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((host_name_addresses_map != (hash_table *)0x0) &&\n                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)) {\n            iVar12 = *(int *)((int)__ptr + 0x10) + -1;\n            bVar17 = opt.debug == false;\n            *(int *)((int)__ptr + 0x10) = iVar12;\n            if (bVar17) {\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }\n            else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            hash_table_remove(host_name_addresses_map,host);\n          }\n        }\n      }" { (if_statement "if (opt.dns_cache != false) {\n          if ((flags & 4U) == 0) {\n            if ((host_name_addresses_map != (hash_table *)0x0) &&\n               (value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0)) {\n              if (opt.debug != false) {\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }\n              value->refcount = value->refcount + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((host_name_addresses_map != (hash_table *)0x0) &&\n                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)) {\n            iVar12 = *(int *)((int)__ptr + 0x10) + -1;\n            bVar17 = opt.debug == false;\n            *(int *)((int)__ptr + 0x10) = iVar12;\n            if (bVar17) {\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }\n            else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            hash_table_remove(host_name_addresses_map,host);\n          }\n        }" if (parenthesized_expression "(opt.dns_cache != false)" ( (binary_expression "opt.dns_cache != false" (field_expression "opt.dns_cache" identifier . field_identifier) != false) )) (compound_statement "{\n          if ((flags & 4U) == 0) {\n            if ((host_name_addresses_map != (hash_table *)0x0) &&\n               (value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0)) {\n              if (opt.debug != false) {\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }\n              value->refcount = value->refcount + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((host_name_addresses_map != (hash_table *)0x0) &&\n                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)) {\n            iVar12 = *(int *)((int)__ptr + 0x10) + -1;\n            bVar17 = opt.debug == false;\n            *(int *)((int)__ptr + 0x10) = iVar12;\n            if (bVar17) {\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }\n            else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            hash_table_remove(host_name_addresses_map,host);\n          }\n        }" { (if_statement "if ((flags & 4U) == 0) {\n            if ((host_name_addresses_map != (hash_table *)0x0) &&\n               (value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0)) {\n              if (opt.debug != false) {\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }\n              value->refcount = value->refcount + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((host_name_addresses_map != (hash_table *)0x0) &&\n                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)) {\n            iVar12 = *(int *)((int)__ptr + 0x10) + -1;\n            bVar17 = opt.debug == false;\n            *(int *)((int)__ptr + 0x10) = iVar12;\n            if (bVar17) {\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }\n            else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            hash_table_remove(host_name_addresses_map,host);\n          }" if (parenthesized_expression "((flags & 4U) == 0)" ( (binary_expression "(flags & 4U) == 0" (parenthesized_expression "(flags & 4U)" ( (binary_expression "flags & 4U" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            if ((host_name_addresses_map != (hash_table *)0x0) &&\n               (value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0)) {\n              if (opt.debug != false) {\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }\n              value->refcount = value->refcount + 1;\n              goto LAB_0002bafc;\n            }\n          }" { (if_statement "if ((host_name_addresses_map != (hash_table *)0x0) &&\n               (value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0)) {\n              if (opt.debug != false) {\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }\n              value->refcount = value->refcount + 1;\n              goto LAB_0002bafc;\n            }" if (parenthesized_expression "((host_name_addresses_map != (hash_table *)0x0) &&\n               (value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0))" ( (binary_expression "(host_name_addresses_map != (hash_table *)0x0) &&\n               (value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0)" (parenthesized_expression "(host_name_addresses_map != (hash_table *)0x0)" ( (binary_expression "host_name_addresses_map != (hash_table *)0x0" identifier != (cast_expression "(hash_table *)0x0" ( (type_descriptor "hash_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0)" ( (comma_expression "value = (address_list *)hash_table_get(host_name_addresses_map,host),\n               value != (address_list *)0x0" (assignment_expression "value = (address_list *)hash_table_get(host_name_addresses_map,host)" identifier = (cast_expression "(address_list *)hash_table_get(host_name_addresses_map,host)" ( (type_descriptor "address_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "hash_table_get(host_name_addresses_map,host)" identifier (argument_list "(host_name_addresses_map,host)" ( identifier , identifier ))))) , (binary_expression "value != (address_list *)0x0" identifier != (cast_expression "(address_list *)0x0" ( (type_descriptor "address_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n              if (opt.debug != false) {\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }\n              value->refcount = value->refcount + 1;\n              goto LAB_0002bafc;\n            }" { (if_statement "if (opt.debug != false) {\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }" if (parenthesized_expression "(opt.debug != false)" ( (binary_expression "opt.debug != false" (field_expression "opt.debug" identifier . field_identifier) != false) )) (compound_statement "{\n                debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);\n              }" { (expression_statement "debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value);" (call_expression "debug_logprintf("Found %s in host_name_addresses_map (%p)\n",host,value)" identifier (argument_list "("Found %s in host_name_addresses_map (%p)\n",host,value)" ( (string_literal ""Found %s in host_name_addresses_map (%p)\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) })) (expression_statement "value->refcount = value->refcount + 1;" (assignment_expression "value->refcount = value->refcount + 1" (field_expression "value->refcount" identifier -> field_identifier) = (binary_expression "value->refcount + 1" (field_expression "value->refcount" identifier -> field_identifier) + number_literal)) ;) (goto_statement "goto LAB_0002bafc;" goto statement_identifier ;) })) }) (else_clause "else if ((host_name_addresses_map != (hash_table *)0x0) &&\n                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)) {\n            iVar12 = *(int *)((int)__ptr + 0x10) + -1;\n            bVar17 = opt.debug == false;\n            *(int *)((int)__ptr + 0x10) = iVar12;\n            if (bVar17) {\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }\n            else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            hash_table_remove(host_name_addresses_map,host);\n          }" else (if_statement "if ((host_name_addresses_map != (hash_table *)0x0) &&\n                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)) {\n            iVar12 = *(int *)((int)__ptr + 0x10) + -1;\n            bVar17 = opt.debug == false;\n            *(int *)((int)__ptr + 0x10) = iVar12;\n            if (bVar17) {\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }\n            else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            hash_table_remove(host_name_addresses_map,host);\n          }" if (parenthesized_expression "((host_name_addresses_map != (hash_table *)0x0) &&\n                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0))" ( (binary_expression "(host_name_addresses_map != (hash_table *)0x0) &&\n                  (__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)" (parenthesized_expression "(host_name_addresses_map != (hash_table *)0x0)" ( (binary_expression "host_name_addresses_map != (hash_table *)0x0" identifier != (cast_expression "(hash_table *)0x0" ( (type_descriptor "hash_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0)" ( (comma_expression "__ptr = hash_table_get(host_name_addresses_map,host), __ptr != (void *)0x0" (assignment_expression "__ptr = hash_table_get(host_name_addresses_map,host)" identifier = (call_expression "hash_table_get(host_name_addresses_map,host)" identifier (argument_list "(host_name_addresses_map,host)" ( identifier , identifier )))) , (binary_expression "__ptr != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n            iVar12 = *(int *)((int)__ptr + 0x10) + -1;\n            bVar17 = opt.debug == false;\n            *(int *)((int)__ptr + 0x10) = iVar12;\n            if (bVar17) {\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }\n            else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            hash_table_remove(host_name_addresses_map,host);\n          }" { (expression_statement "iVar12 = *(int *)((int)__ptr + 0x10) + -1;" (assignment_expression "iVar12 = *(int *)((int)__ptr + 0x10) + -1" identifier = (binary_expression "*(int *)((int)__ptr + 0x10) + -1" (pointer_expression "*(int *)((int)__ptr + 0x10)" * (cast_expression "(int *)((int)__ptr + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + 0x10)" ( (binary_expression "(int)__ptr + 0x10" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "bVar17 = opt.debug == false;" (assignment_expression "bVar17 = opt.debug == false" identifier = (binary_expression "opt.debug == false" (field_expression "opt.debug" identifier . field_identifier) == false)) ;) (expression_statement "*(int *)((int)__ptr + 0x10) = iVar12;" (assignment_expression "*(int *)((int)__ptr + 0x10) = iVar12" (pointer_expression "*(int *)((int)__ptr + 0x10)" * (cast_expression "(int *)((int)__ptr + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + 0x10)" ( (binary_expression "(int)__ptr + 0x10" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (bVar17) {\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }\n            else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }" if (parenthesized_expression "(bVar17)" ( identifier )) (compound_statement "{\n              if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }\n            }" { (if_statement "if (iVar12 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }" if (parenthesized_expression "(iVar12 < 1)" ( (binary_expression "iVar12 < 1" identifier < number_literal) )) (compound_statement "{\nLAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));\n                free(__ptr);\n              }" { (labeled_statement "LAB_0002bed2:\n                free(*(void **)((int)__ptr + 4));" statement_identifier : (expression_statement "free(*(void **)((int)__ptr + 4));" (call_expression "free(*(void **)((int)__ptr + 4))" identifier (argument_list "(*(void **)((int)__ptr + 4))" ( (pointer_expression "*(void **)((int)__ptr + 4)" * (cast_expression "(void **)((int)__ptr + 4)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)__ptr + 4)" ( (binary_expression "(int)__ptr + 4" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) })) }) (else_clause "else {\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }" else (compound_statement "{\n              debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);\n              if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }" { (expression_statement "debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12);" (call_expression "debug_logprintf("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12)" identifier (argument_list "("Releasing 0x%0*lx (new refcount %d).\n",8,__ptr,iVar12)" ( (string_literal ""Releasing 0x%0*lx (new refcount %d).\n"" " string_content escape_sequence ") , number_literal , identifier , identifier ))) ;) (if_statement "if (*(int *)((int)__ptr + 0x10) < 1) {\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }" if (parenthesized_expression "(*(int *)((int)__ptr + 0x10) < 1)" ( (binary_expression "*(int *)((int)__ptr + 0x10) < 1" (pointer_expression "*(int *)((int)__ptr + 0x10)" * (cast_expression "(int *)((int)__ptr + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + 0x10)" ( (binary_expression "(int)__ptr + 0x10" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < number_literal) )) (compound_statement "{\n                if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }" { (if_statement "if (opt.debug != false) {\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }" if (parenthesized_expression "(opt.debug != false)" ( (binary_expression "opt.debug != false" (field_expression "opt.debug" identifier . field_identifier) != false) )) (compound_statement "{\n                  debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);\n                }" { (expression_statement "debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP);" (call_expression "debug_logprintf("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP)" identifier (argument_list "("Deleting unused 0x%0*lx.\n",8,__ptr,unaff_EBP)" ( (string_literal ""Deleting unused 0x%0*lx.\n"" " string_content escape_sequence ") , number_literal , identifier , identifier ))) ;) })) (goto_statement "goto LAB_0002bed2;" goto statement_identifier ;) })) }))) (expression_statement "hash_table_remove(host_name_addresses_map,host);" (call_expression "hash_table_remove(host_name_addresses_map,host)" identifier (argument_list "(host_name_addresses_map,host)" ( identifier , identifier ))) ;) })))) })) }) (else_clause "else {\n        local_65 = '\0';\n      }" else (compound_statement "{\n        local_65 = '\0';\n      }" { (expression_statement "local_65 = '\0';" (assignment_expression "local_65 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }))) (expression_statement "local_80._0_1_ = (char)(~flags & 1U);" (assignment_expression "local_80._0_1_ = (char)(~flags & 1U)" (field_expression "local_80._0_1_" identifier . field_identifier) = (cast_expression "(char)(~flags & 1U)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(~flags & 1U)" ( (binary_expression "~flags & 1U" (unary_expression "~flags" ~ identifier) & number_literal) )))) ;) (if_statement "if ((~flags & 1U) == 0) {\n        _Var3 = false;\n      }\n      else {\n        pcVar5 = host;\n        if ((opt.enable_iri == false) || (pcVar11 = idn_decode(host), pcVar11 == (char *)0x0)) {\n          pcVar15 = (char *)0x0;\n        }\n        else {\n          pcVar15 = aprintf("%s (%s)",pcVar11,host);\n          free(pcVar11);\n          if (pcVar15 != (char *)0x0) {\n            pcVar5 = pcVar15;\n          }\n        }\n        pcVar5 = quotearg_style(escape_quoting_style,pcVar5);\n        pcVar11 = (char *)dcgettext(0,"Resolving %s... ",5);\n        logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n        free(pcVar15);\n      }" if (parenthesized_expression "((~flags & 1U) == 0)" ( (binary_expression "(~flags & 1U) == 0" (parenthesized_expression "(~flags & 1U)" ( (binary_expression "~flags & 1U" (unary_expression "~flags" ~ identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        _Var3 = false;\n      }" { (expression_statement "_Var3 = false;" (assignment_expression "_Var3 = false" identifier = false) ;) }) (else_clause "else {\n        pcVar5 = host;\n        if ((opt.enable_iri == false) || (pcVar11 = idn_decode(host), pcVar11 == (char *)0x0)) {\n          pcVar15 = (char *)0x0;\n        }\n        else {\n          pcVar15 = aprintf("%s (%s)",pcVar11,host);\n          free(pcVar11);\n          if (pcVar15 != (char *)0x0) {\n            pcVar5 = pcVar15;\n          }\n        }\n        pcVar5 = quotearg_style(escape_quoting_style,pcVar5);\n        pcVar11 = (char *)dcgettext(0,"Resolving %s... ",5);\n        logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n        free(pcVar15);\n      }" else (compound_statement "{\n        pcVar5 = host;\n        if ((opt.enable_iri == false) || (pcVar11 = idn_decode(host), pcVar11 == (char *)0x0)) {\n          pcVar15 = (char *)0x0;\n        }\n        else {\n          pcVar15 = aprintf("%s (%s)",pcVar11,host);\n          free(pcVar11);\n          if (pcVar15 != (char *)0x0) {\n            pcVar5 = pcVar15;\n          }\n        }\n        pcVar5 = quotearg_style(escape_quoting_style,pcVar5);\n        pcVar11 = (char *)dcgettext(0,"Resolving %s... ",5);\n        logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n        free(pcVar15);\n      }" { (expression_statement "pcVar5 = host;" (assignment_expression "pcVar5 = host" identifier = identifier) ;) (if_statement "if ((opt.enable_iri == false) || (pcVar11 = idn_decode(host), pcVar11 == (char *)0x0)) {\n          pcVar15 = (char *)0x0;\n        }\n        else {\n          pcVar15 = aprintf("%s (%s)",pcVar11,host);\n          free(pcVar11);\n          if (pcVar15 != (char *)0x0) {\n            pcVar5 = pcVar15;\n          }\n        }" if (parenthesized_expression "((opt.enable_iri == false) || (pcVar11 = idn_decode(host), pcVar11 == (char *)0x0))" ( (binary_expression "(opt.enable_iri == false) || (pcVar11 = idn_decode(host), pcVar11 == (char *)0x0)" (parenthesized_expression "(opt.enable_iri == false)" ( (binary_expression "opt.enable_iri == false" (field_expression "opt.enable_iri" identifier . field_identifier) == false) )) || (parenthesized_expression "(pcVar11 = idn_decode(host), pcVar11 == (char *)0x0)" ( (comma_expression "pcVar11 = idn_decode(host), pcVar11 == (char *)0x0" (assignment_expression "pcVar11 = idn_decode(host)" identifier = (call_expression "idn_decode(host)" identifier (argument_list "(host)" ( identifier )))) , (binary_expression "pcVar11 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          pcVar15 = (char *)0x0;\n        }" { (expression_statement "pcVar15 = (char *)0x0;" (assignment_expression "pcVar15 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          pcVar15 = aprintf("%s (%s)",pcVar11,host);\n          free(pcVar11);\n          if (pcVar15 != (char *)0x0) {\n            pcVar5 = pcVar15;\n          }\n        }" else (compound_statement "{\n          pcVar15 = aprintf("%s (%s)",pcVar11,host);\n          free(pcVar11);\n          if (pcVar15 != (char *)0x0) {\n            pcVar5 = pcVar15;\n          }\n        }" { (expression_statement "pcVar15 = aprintf("%s (%s)",pcVar11,host);" (assignment_expression "pcVar15 = aprintf("%s (%s)",pcVar11,host)" identifier = (call_expression "aprintf("%s (%s)",pcVar11,host)" identifier (argument_list "("%s (%s)",pcVar11,host)" ( (string_literal ""%s (%s)"" " string_content ") , identifier , identifier )))) ;) (expression_statement "free(pcVar11);" (call_expression "free(pcVar11)" identifier (argument_list "(pcVar11)" ( identifier ))) ;) (if_statement "if (pcVar15 != (char *)0x0) {\n            pcVar5 = pcVar15;\n          }" if (parenthesized_expression "(pcVar15 != (char *)0x0)" ( (binary_expression "pcVar15 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar5 = pcVar15;\n          }" { (expression_statement "pcVar5 = pcVar15;" (assignment_expression "pcVar5 = pcVar15" identifier = identifier) ;) })) }))) (expression_statement "pcVar5 = quotearg_style(escape_quoting_style,pcVar5);" (assignment_expression "pcVar5 = quotearg_style(escape_quoting_style,pcVar5)" identifier = (call_expression "quotearg_style(escape_quoting_style,pcVar5)" identifier (argument_list "(escape_quoting_style,pcVar5)" ( identifier , identifier )))) ;) (expression_statement "pcVar11 = (char *)dcgettext(0,"Resolving %s... ",5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,"Resolving %s... ",5)" identifier = (cast_expression "(char *)dcgettext(0,"Resolving %s... ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Resolving %s... ",5)" identifier (argument_list "(0,"Resolving %s... ",5)" ( number_literal , (string_literal ""Resolving %s... "" " string_content ") , number_literal ))))) ;) (expression_statement "logprintf(LOG_VERBOSE,pcVar11,pcVar5);" (call_expression "logprintf(LOG_VERBOSE,pcVar11,pcVar5)" identifier (argument_list "(LOG_VERBOSE,pcVar11,pcVar5)" ( identifier , identifier , identifier ))) ;) (expression_statement "free(pcVar15);" (call_expression "free(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier ))) ;) }))) }))) }))) (expression_statement "ctx.hints = &hints;" (assignment_expression "ctx.hints = &hints" (field_expression "ctx.hints" identifier . field_identifier) = (pointer_expression "&hints" & identifier)) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)((int)&(ctx.hints)->ai_flags + uVar7) = 0;\n    uVar7 = uVar7 + 4;\n  } while (uVar7 < 0x20);" do (compound_statement "{\n    *(undefined4 *)((int)&(ctx.hints)->ai_flags + uVar7) = 0;\n    uVar7 = uVar7 + 4;\n  }" { (expression_statement "*(undefined4 *)((int)&(ctx.hints)->ai_flags + uVar7) = 0;" (assignment_expression "*(undefined4 *)((int)&(ctx.hints)->ai_flags + uVar7) = 0" (pointer_expression "*(undefined4 *)((int)&(ctx.hints)->ai_flags + uVar7)" * (cast_expression "(undefined4 *)((int)&(ctx.hints)->ai_flags + uVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(ctx.hints)->ai_flags + uVar7)" ( (binary_expression "(int)&(ctx.hints)->ai_flags + uVar7" (cast_expression "(int)&(ctx.hints)->ai_flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(ctx.hints)->ai_flags" & (field_expression "(ctx.hints)->ai_flags" (parenthesized_expression "(ctx.hints)" ( (field_expression "ctx.hints" identifier . field_identifier) )) -> field_identifier))) + identifier) )))) = number_literal) ;) (expression_statement "uVar7 = uVar7 + 4;" (assignment_expression "uVar7 = uVar7 + 4" identifier = (binary_expression "uVar7 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 < 0x20)" ( (binary_expression "uVar7 < 0x20" identifier < number_literal) )) ;) (expression_statement "hints.ai_socktype = 1;" (assignment_expression "hints.ai_socktype = 1" (field_expression "hints.ai_socktype" identifier . field_identifier) = number_literal) ;) (if_statement "if (opt.ipv4_only == false) {\n    if (opt.ipv6_only != false) {\n      hints.ai_family = 10;\n    }\n  }\n  else {\n    hints.ai_family = 2;\n  }" if (parenthesized_expression "(opt.ipv4_only == false)" ( (binary_expression "opt.ipv4_only == false" (field_expression "opt.ipv4_only" identifier . field_identifier) == false) )) (compound_statement "{\n    if (opt.ipv6_only != false) {\n      hints.ai_family = 10;\n    }\n  }" { (if_statement "if (opt.ipv6_only != false) {\n      hints.ai_family = 10;\n    }" if (parenthesized_expression "(opt.ipv6_only != false)" ( (binary_expression "opt.ipv6_only != false" (field_expression "opt.ipv6_only" identifier . field_identifier) != false) )) (compound_statement "{\n      hints.ai_family = 10;\n    }" { (expression_statement "hints.ai_family = 10;" (assignment_expression "hints.ai_family = 10" (field_expression "hints.ai_family" identifier . field_identifier) = number_literal) ;) })) }) (else_clause "else {\n    hints.ai_family = 2;\n  }" else (compound_statement "{\n    hints.ai_family = 2;\n  }" { (expression_statement "hints.ai_family = 2;" (assignment_expression "hints.ai_family = 2" (field_expression "hints.ai_family" identifier . field_identifier) = number_literal) ;) }))) (expression_statement "iVar12 = 4;" (assignment_expression "iVar12 = 4" identifier = number_literal) ;) (if_statement "if ((flags & 2U) != 0) {\n    hints.ai_flags = 1;\n    iVar12 = 5;\n  }" if (parenthesized_expression "((flags & 2U) != 0)" ( (binary_expression "(flags & 2U) != 0" (parenthesized_expression "(flags & 2U)" ( (binary_expression "flags & 2U" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    hints.ai_flags = 1;\n    iVar12 = 5;\n  }" { (expression_statement "hints.ai_flags = 1;" (assignment_expression "hints.ai_flags = 1" (field_expression "hints.ai_flags" identifier . field_identifier) = number_literal) ;) (expression_statement "iVar12 = 5;" (assignment_expression "iVar12 = 5" identifier = number_literal) ;) })) (if_statement "if (_Var3 != false) {\n    local_74 = 0.0;\n    hints.ai_flags = iVar12;\n  }" if (parenthesized_expression "(_Var3 != false)" ( (binary_expression "_Var3 != false" identifier != false) )) (compound_statement "{\n    local_74 = 0.0;\n    hints.ai_flags = iVar12;\n  }" { (expression_statement "local_74 = 0.0;" (assignment_expression "local_74 = 0.0" identifier = number_literal) ;) (expression_statement "hints.ai_flags = iVar12;" (assignment_expression "hints.ai_flags = iVar12" (field_expression "hints.ai_flags" identifier . field_identifier) = identifier) ;) })) (expression_statement "ctx.service = (char *)0x0;" (assignment_expression "ctx.service = (char *)0x0" (field_expression "ctx.service" identifier . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ctx.node = host;" (assignment_expression "ctx.node = host" (field_expression "ctx.node" identifier . field_identifier) = identifier) ;) (expression_statement "ctx.res = &res;" (assignment_expression "ctx.res = &res" (field_expression "ctx.res" identifier . field_identifier) = (pointer_expression "&res" & identifier)) ;) (expression_statement "_Var3 = run_with_timeout(local_74,getaddrinfo_with_timeout_callback,&ctx);" (assignment_expression "_Var3 = run_with_timeout(local_74,getaddrinfo_with_timeout_callback,&ctx)" identifier = (call_expression "run_with_timeout(local_74,getaddrinfo_with_timeout_callback,&ctx)" identifier (argument_list "(local_74,getaddrinfo_with_timeout_callback,&ctx)" ( identifier , identifier , (pointer_expression "&ctx" & identifier) )))) ;) (expression_statement "paVar16 = res;" (assignment_expression "paVar16 = res" identifier = identifier) ;) (if_statement "if (_Var3) {\n    piVar10 = __errno_location();\n    *piVar10 = 0x6e;\n    if (uVar14 == 0) {\n      iVar12 = 0x6e;\nLAB_0002bcca:\n      pcVar5 = rpl_strerror(iVar12);\nLAB_0002bcf9:\n      pcVar11 = (char *)dcgettext(0,"failed: %s.\n",5);\n      logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n    }\n  }\n  else {\n    local_64 = ctx.exit_code;\n    if (ctx.exit_code == 0) {\n      if (res != (addrinfo *)0x0) {\n        iVar12 = 0;\n        paVar13 = res;\n        do {\n          piVar10 = &paVar13->ai_family;\n          paVar13 = paVar13->ai_next;\n          iVar12 = iVar12 + (uint)((*piVar10 & 0xfffffff7U) == 2);\n        } while (paVar13 != (addrinfo *)0x0);\n        if (iVar12 == 0) {\n          freeaddrinfo((addrinfo *)res);\n          pcVar5 = (char *)dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          logprintf(LOG_VERBOSE,pcVar5);\n          value = (address_list *)0x0;\n          goto LAB_0002bafc;\n        }\n        value = (address_list *)xcalloc(1,0x14);\n        piVar8 = (ip_address *)xmalloc(iVar12 * 0x18);\n        value->count = iVar12;\n        value->addresses = piVar8;\n        value->refcount = 1;\n        do {\n          while (paVar16->ai_family != 10) {\n            piVar9 = piVar8;\n            if (paVar16->ai_family == 2) {\n              psVar2 = paVar16->ai_addr;\n              piVar9 = piVar8 + 1;\n              piVar8->family = 2;\n              (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2);\n            }\n            paVar16 = paVar16->ai_next;\n            piVar8 = piVar9;\n            if (paVar16 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar2 = paVar16->ai_addr;\n          paVar16 = paVar16->ai_next;\n          piVar8->family = 10;\n          (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 4) = *(undefined4 *)(psVar2->sa_data + 10);\n          *(undefined4 *)((int)&piVar8->data + 8) = *(undefined4 *)(psVar2 + 1);\n          iVar12 = *(int *)(psVar2[1].sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 0xc) = *(undefined4 *)(psVar2[1].sa_data + 2);\n          piVar8->ipv6_scope = iVar12;\n          piVar8 = piVar8 + 1;\n        } while (paVar16 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo((addrinfo *)res);\n        if ((1 < value->count) && (opt.prefer_family != AP_DECODE_ENTITIES)) {\n          cmpfun = cmp_prefer_ipv4;\n          if (opt.prefer_family != CSSEOF) {\n            cmpfun = cmp_prefer_ipv6;\n          }\n          stable_sort(value->addresses,value->count,0x18,cmpfun);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = value->count;\n          if ((opt.show_all_dns_entries == true) || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar12 = local_80 + -1;\n              if (0 < iVar12) goto LAB_0002b927;\n              iVar6 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar12 = 2;\nLAB_0002b927:\n            if (local_80 < iVar12) {\n              iVar12 = local_80;\n            }\n            iVar6 = 0;\n            do {\n              pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40);\n              if (pcVar5 == (char *)0x0) {\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }\n              iVar6 = iVar6 + 1;\n              logputs(LOG_VERBOSE,buf_6806);\n              logputs(LOG_VERBOSE,", ");\n            } while (iVar6 < iVar12);\n            if (iVar6 < local_80) {\nLAB_0002bb53:\n              do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);\n            }\n            if (value->count != local_80) {\n              logputs(LOG_VERBOSE,", ...");\n            }\n          }\n          logputs(LOG_VERBOSE,"\n");\n        }\n        if (local_65 != '\0') {\n          if (host_name_addresses_map == (hash_table *)0x0) {\n            host_name_addresses_map = make_nocase_string_hash_table(0);\n          }\n          value->refcount = value->refcount + 1;\n          pcVar5 = xstrdup_lower(host);\n          hash_table_put(host_name_addresses_map,pcVar5,value);\n          if (opt.debug != false) {\n            debug_logprintf("Caching %s =>",host);\n            if (0 < value->count) {\n              iVar12 = 0;\n              do {\n                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }\n                piVar10 = __errno_location();\n                iVar12 = iVar12 + 1;\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                debug_logprintf(" %s",buf_6806);\n              } while (iVar12 < value->count);\n            }\nLAB_0002bc5a:\n            debug_logprintf("\n",host);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar14;\n      if (uVar14 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar14 == 0) {\n      if (ctx.exit_code == -0xb) {\n        piVar10 = __errno_location();\n        iVar12 = *piVar10;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar5 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }" if (parenthesized_expression "(_Var3)" ( identifier )) (compound_statement "{\n    piVar10 = __errno_location();\n    *piVar10 = 0x6e;\n    if (uVar14 == 0) {\n      iVar12 = 0x6e;\nLAB_0002bcca:\n      pcVar5 = rpl_strerror(iVar12);\nLAB_0002bcf9:\n      pcVar11 = (char *)dcgettext(0,"failed: %s.\n",5);\n      logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n    }\n  }" { (expression_statement "piVar10 = __errno_location();" (assignment_expression "piVar10 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar10 = 0x6e;" (assignment_expression "*piVar10 = 0x6e" (pointer_expression "*piVar10" * identifier) = number_literal) ;) (if_statement "if (uVar14 == 0) {\n      iVar12 = 0x6e;\nLAB_0002bcca:\n      pcVar5 = rpl_strerror(iVar12);\nLAB_0002bcf9:\n      pcVar11 = (char *)dcgettext(0,"failed: %s.\n",5);\n      logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n    }" if (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar12 = 0x6e;\nLAB_0002bcca:\n      pcVar5 = rpl_strerror(iVar12);\nLAB_0002bcf9:\n      pcVar11 = (char *)dcgettext(0,"failed: %s.\n",5);\n      logprintf(LOG_VERBOSE,pcVar11,pcVar5);\n    }" { (expression_statement "iVar12 = 0x6e;" (assignment_expression "iVar12 = 0x6e" identifier = number_literal) ;) (labeled_statement "LAB_0002bcca:\n      pcVar5 = rpl_strerror(iVar12);" statement_identifier : (expression_statement "pcVar5 = rpl_strerror(iVar12);" (assignment_expression "pcVar5 = rpl_strerror(iVar12)" identifier = (call_expression "rpl_strerror(iVar12)" identifier (argument_list "(iVar12)" ( identifier )))) ;)) (labeled_statement "LAB_0002bcf9:\n      pcVar11 = (char *)dcgettext(0,"failed: %s.\n",5);" statement_identifier : (expression_statement "pcVar11 = (char *)dcgettext(0,"failed: %s.\n",5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,"failed: %s.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"failed: %s.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"failed: %s.\n",5)" identifier (argument_list "(0,"failed: %s.\n",5)" ( number_literal , (string_literal ""failed: %s.\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "logprintf(LOG_VERBOSE,pcVar11,pcVar5);" (call_expression "logprintf(LOG_VERBOSE,pcVar11,pcVar5)" identifier (argument_list "(LOG_VERBOSE,pcVar11,pcVar5)" ( identifier , identifier , identifier ))) ;) })) }) (else_clause "else {\n    local_64 = ctx.exit_code;\n    if (ctx.exit_code == 0) {\n      if (res != (addrinfo *)0x0) {\n        iVar12 = 0;\n        paVar13 = res;\n        do {\n          piVar10 = &paVar13->ai_family;\n          paVar13 = paVar13->ai_next;\n          iVar12 = iVar12 + (uint)((*piVar10 & 0xfffffff7U) == 2);\n        } while (paVar13 != (addrinfo *)0x0);\n        if (iVar12 == 0) {\n          freeaddrinfo((addrinfo *)res);\n          pcVar5 = (char *)dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          logprintf(LOG_VERBOSE,pcVar5);\n          value = (address_list *)0x0;\n          goto LAB_0002bafc;\n        }\n        value = (address_list *)xcalloc(1,0x14);\n        piVar8 = (ip_address *)xmalloc(iVar12 * 0x18);\n        value->count = iVar12;\n        value->addresses = piVar8;\n        value->refcount = 1;\n        do {\n          while (paVar16->ai_family != 10) {\n            piVar9 = piVar8;\n            if (paVar16->ai_family == 2) {\n              psVar2 = paVar16->ai_addr;\n              piVar9 = piVar8 + 1;\n              piVar8->family = 2;\n              (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2);\n            }\n            paVar16 = paVar16->ai_next;\n            piVar8 = piVar9;\n            if (paVar16 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar2 = paVar16->ai_addr;\n          paVar16 = paVar16->ai_next;\n          piVar8->family = 10;\n          (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 4) = *(undefined4 *)(psVar2->sa_data + 10);\n          *(undefined4 *)((int)&piVar8->data + 8) = *(undefined4 *)(psVar2 + 1);\n          iVar12 = *(int *)(psVar2[1].sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 0xc) = *(undefined4 *)(psVar2[1].sa_data + 2);\n          piVar8->ipv6_scope = iVar12;\n          piVar8 = piVar8 + 1;\n        } while (paVar16 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo((addrinfo *)res);\n        if ((1 < value->count) && (opt.prefer_family != AP_DECODE_ENTITIES)) {\n          cmpfun = cmp_prefer_ipv4;\n          if (opt.prefer_family != CSSEOF) {\n            cmpfun = cmp_prefer_ipv6;\n          }\n          stable_sort(value->addresses,value->count,0x18,cmpfun);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = value->count;\n          if ((opt.show_all_dns_entries == true) || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar12 = local_80 + -1;\n              if (0 < iVar12) goto LAB_0002b927;\n              iVar6 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar12 = 2;\nLAB_0002b927:\n            if (local_80 < iVar12) {\n              iVar12 = local_80;\n            }\n            iVar6 = 0;\n            do {\n              pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40);\n              if (pcVar5 == (char *)0x0) {\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }\n              iVar6 = iVar6 + 1;\n              logputs(LOG_VERBOSE,buf_6806);\n              logputs(LOG_VERBOSE,", ");\n            } while (iVar6 < iVar12);\n            if (iVar6 < local_80) {\nLAB_0002bb53:\n              do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);\n            }\n            if (value->count != local_80) {\n              logputs(LOG_VERBOSE,", ...");\n            }\n          }\n          logputs(LOG_VERBOSE,"\n");\n        }\n        if (local_65 != '\0') {\n          if (host_name_addresses_map == (hash_table *)0x0) {\n            host_name_addresses_map = make_nocase_string_hash_table(0);\n          }\n          value->refcount = value->refcount + 1;\n          pcVar5 = xstrdup_lower(host);\n          hash_table_put(host_name_addresses_map,pcVar5,value);\n          if (opt.debug != false) {\n            debug_logprintf("Caching %s =>",host);\n            if (0 < value->count) {\n              iVar12 = 0;\n              do {\n                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }\n                piVar10 = __errno_location();\n                iVar12 = iVar12 + 1;\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                debug_logprintf(" %s",buf_6806);\n              } while (iVar12 < value->count);\n            }\nLAB_0002bc5a:\n            debug_logprintf("\n",host);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar14;\n      if (uVar14 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar14 == 0) {\n      if (ctx.exit_code == -0xb) {\n        piVar10 = __errno_location();\n        iVar12 = *piVar10;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar5 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }" else (compound_statement "{\n    local_64 = ctx.exit_code;\n    if (ctx.exit_code == 0) {\n      if (res != (addrinfo *)0x0) {\n        iVar12 = 0;\n        paVar13 = res;\n        do {\n          piVar10 = &paVar13->ai_family;\n          paVar13 = paVar13->ai_next;\n          iVar12 = iVar12 + (uint)((*piVar10 & 0xfffffff7U) == 2);\n        } while (paVar13 != (addrinfo *)0x0);\n        if (iVar12 == 0) {\n          freeaddrinfo((addrinfo *)res);\n          pcVar5 = (char *)dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          logprintf(LOG_VERBOSE,pcVar5);\n          value = (address_list *)0x0;\n          goto LAB_0002bafc;\n        }\n        value = (address_list *)xcalloc(1,0x14);\n        piVar8 = (ip_address *)xmalloc(iVar12 * 0x18);\n        value->count = iVar12;\n        value->addresses = piVar8;\n        value->refcount = 1;\n        do {\n          while (paVar16->ai_family != 10) {\n            piVar9 = piVar8;\n            if (paVar16->ai_family == 2) {\n              psVar2 = paVar16->ai_addr;\n              piVar9 = piVar8 + 1;\n              piVar8->family = 2;\n              (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2);\n            }\n            paVar16 = paVar16->ai_next;\n            piVar8 = piVar9;\n            if (paVar16 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar2 = paVar16->ai_addr;\n          paVar16 = paVar16->ai_next;\n          piVar8->family = 10;\n          (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 4) = *(undefined4 *)(psVar2->sa_data + 10);\n          *(undefined4 *)((int)&piVar8->data + 8) = *(undefined4 *)(psVar2 + 1);\n          iVar12 = *(int *)(psVar2[1].sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 0xc) = *(undefined4 *)(psVar2[1].sa_data + 2);\n          piVar8->ipv6_scope = iVar12;\n          piVar8 = piVar8 + 1;\n        } while (paVar16 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo((addrinfo *)res);\n        if ((1 < value->count) && (opt.prefer_family != AP_DECODE_ENTITIES)) {\n          cmpfun = cmp_prefer_ipv4;\n          if (opt.prefer_family != CSSEOF) {\n            cmpfun = cmp_prefer_ipv6;\n          }\n          stable_sort(value->addresses,value->count,0x18,cmpfun);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = value->count;\n          if ((opt.show_all_dns_entries == true) || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar12 = local_80 + -1;\n              if (0 < iVar12) goto LAB_0002b927;\n              iVar6 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar12 = 2;\nLAB_0002b927:\n            if (local_80 < iVar12) {\n              iVar12 = local_80;\n            }\n            iVar6 = 0;\n            do {\n              pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40);\n              if (pcVar5 == (char *)0x0) {\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }\n              iVar6 = iVar6 + 1;\n              logputs(LOG_VERBOSE,buf_6806);\n              logputs(LOG_VERBOSE,", ");\n            } while (iVar6 < iVar12);\n            if (iVar6 < local_80) {\nLAB_0002bb53:\n              do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);\n            }\n            if (value->count != local_80) {\n              logputs(LOG_VERBOSE,", ...");\n            }\n          }\n          logputs(LOG_VERBOSE,"\n");\n        }\n        if (local_65 != '\0') {\n          if (host_name_addresses_map == (hash_table *)0x0) {\n            host_name_addresses_map = make_nocase_string_hash_table(0);\n          }\n          value->refcount = value->refcount + 1;\n          pcVar5 = xstrdup_lower(host);\n          hash_table_put(host_name_addresses_map,pcVar5,value);\n          if (opt.debug != false) {\n            debug_logprintf("Caching %s =>",host);\n            if (0 < value->count) {\n              iVar12 = 0;\n              do {\n                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }\n                piVar10 = __errno_location();\n                iVar12 = iVar12 + 1;\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                debug_logprintf(" %s",buf_6806);\n              } while (iVar12 < value->count);\n            }\nLAB_0002bc5a:\n            debug_logprintf("\n",host);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar14;\n      if (uVar14 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar14 == 0) {\n      if (ctx.exit_code == -0xb) {\n        piVar10 = __errno_location();\n        iVar12 = *piVar10;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar5 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }" { (expression_statement "local_64 = ctx.exit_code;" (assignment_expression "local_64 = ctx.exit_code" identifier = (field_expression "ctx.exit_code" identifier . field_identifier)) ;) (if_statement "if (ctx.exit_code == 0) {\n      if (res != (addrinfo *)0x0) {\n        iVar12 = 0;\n        paVar13 = res;\n        do {\n          piVar10 = &paVar13->ai_family;\n          paVar13 = paVar13->ai_next;\n          iVar12 = iVar12 + (uint)((*piVar10 & 0xfffffff7U) == 2);\n        } while (paVar13 != (addrinfo *)0x0);\n        if (iVar12 == 0) {\n          freeaddrinfo((addrinfo *)res);\n          pcVar5 = (char *)dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          logprintf(LOG_VERBOSE,pcVar5);\n          value = (address_list *)0x0;\n          goto LAB_0002bafc;\n        }\n        value = (address_list *)xcalloc(1,0x14);\n        piVar8 = (ip_address *)xmalloc(iVar12 * 0x18);\n        value->count = iVar12;\n        value->addresses = piVar8;\n        value->refcount = 1;\n        do {\n          while (paVar16->ai_family != 10) {\n            piVar9 = piVar8;\n            if (paVar16->ai_family == 2) {\n              psVar2 = paVar16->ai_addr;\n              piVar9 = piVar8 + 1;\n              piVar8->family = 2;\n              (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2);\n            }\n            paVar16 = paVar16->ai_next;\n            piVar8 = piVar9;\n            if (paVar16 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar2 = paVar16->ai_addr;\n          paVar16 = paVar16->ai_next;\n          piVar8->family = 10;\n          (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 4) = *(undefined4 *)(psVar2->sa_data + 10);\n          *(undefined4 *)((int)&piVar8->data + 8) = *(undefined4 *)(psVar2 + 1);\n          iVar12 = *(int *)(psVar2[1].sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 0xc) = *(undefined4 *)(psVar2[1].sa_data + 2);\n          piVar8->ipv6_scope = iVar12;\n          piVar8 = piVar8 + 1;\n        } while (paVar16 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo((addrinfo *)res);\n        if ((1 < value->count) && (opt.prefer_family != AP_DECODE_ENTITIES)) {\n          cmpfun = cmp_prefer_ipv4;\n          if (opt.prefer_family != CSSEOF) {\n            cmpfun = cmp_prefer_ipv6;\n          }\n          stable_sort(value->addresses,value->count,0x18,cmpfun);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = value->count;\n          if ((opt.show_all_dns_entries == true) || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar12 = local_80 + -1;\n              if (0 < iVar12) goto LAB_0002b927;\n              iVar6 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar12 = 2;\nLAB_0002b927:\n            if (local_80 < iVar12) {\n              iVar12 = local_80;\n            }\n            iVar6 = 0;\n            do {\n              pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40);\n              if (pcVar5 == (char *)0x0) {\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }\n              iVar6 = iVar6 + 1;\n              logputs(LOG_VERBOSE,buf_6806);\n              logputs(LOG_VERBOSE,", ");\n            } while (iVar6 < iVar12);\n            if (iVar6 < local_80) {\nLAB_0002bb53:\n              do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);\n            }\n            if (value->count != local_80) {\n              logputs(LOG_VERBOSE,", ...");\n            }\n          }\n          logputs(LOG_VERBOSE,"\n");\n        }\n        if (local_65 != '\0') {\n          if (host_name_addresses_map == (hash_table *)0x0) {\n            host_name_addresses_map = make_nocase_string_hash_table(0);\n          }\n          value->refcount = value->refcount + 1;\n          pcVar5 = xstrdup_lower(host);\n          hash_table_put(host_name_addresses_map,pcVar5,value);\n          if (opt.debug != false) {\n            debug_logprintf("Caching %s =>",host);\n            if (0 < value->count) {\n              iVar12 = 0;\n              do {\n                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }\n                piVar10 = __errno_location();\n                iVar12 = iVar12 + 1;\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                debug_logprintf(" %s",buf_6806);\n              } while (iVar12 < value->count);\n            }\nLAB_0002bc5a:\n            debug_logprintf("\n",host);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar14;\n      if (uVar14 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar14 == 0) {\n      if (ctx.exit_code == -0xb) {\n        piVar10 = __errno_location();\n        iVar12 = *piVar10;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar5 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }" if (parenthesized_expression "(ctx.exit_code == 0)" ( (binary_expression "ctx.exit_code == 0" (field_expression "ctx.exit_code" identifier . field_identifier) == number_literal) )) (compound_statement "{\n      if (res != (addrinfo *)0x0) {\n        iVar12 = 0;\n        paVar13 = res;\n        do {\n          piVar10 = &paVar13->ai_family;\n          paVar13 = paVar13->ai_next;\n          iVar12 = iVar12 + (uint)((*piVar10 & 0xfffffff7U) == 2);\n        } while (paVar13 != (addrinfo *)0x0);\n        if (iVar12 == 0) {\n          freeaddrinfo((addrinfo *)res);\n          pcVar5 = (char *)dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          logprintf(LOG_VERBOSE,pcVar5);\n          value = (address_list *)0x0;\n          goto LAB_0002bafc;\n        }\n        value = (address_list *)xcalloc(1,0x14);\n        piVar8 = (ip_address *)xmalloc(iVar12 * 0x18);\n        value->count = iVar12;\n        value->addresses = piVar8;\n        value->refcount = 1;\n        do {\n          while (paVar16->ai_family != 10) {\n            piVar9 = piVar8;\n            if (paVar16->ai_family == 2) {\n              psVar2 = paVar16->ai_addr;\n              piVar9 = piVar8 + 1;\n              piVar8->family = 2;\n              (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2);\n            }\n            paVar16 = paVar16->ai_next;\n            piVar8 = piVar9;\n            if (paVar16 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar2 = paVar16->ai_addr;\n          paVar16 = paVar16->ai_next;\n          piVar8->family = 10;\n          (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 4) = *(undefined4 *)(psVar2->sa_data + 10);\n          *(undefined4 *)((int)&piVar8->data + 8) = *(undefined4 *)(psVar2 + 1);\n          iVar12 = *(int *)(psVar2[1].sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 0xc) = *(undefined4 *)(psVar2[1].sa_data + 2);\n          piVar8->ipv6_scope = iVar12;\n          piVar8 = piVar8 + 1;\n        } while (paVar16 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo((addrinfo *)res);\n        if ((1 < value->count) && (opt.prefer_family != AP_DECODE_ENTITIES)) {\n          cmpfun = cmp_prefer_ipv4;\n          if (opt.prefer_family != CSSEOF) {\n            cmpfun = cmp_prefer_ipv6;\n          }\n          stable_sort(value->addresses,value->count,0x18,cmpfun);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = value->count;\n          if ((opt.show_all_dns_entries == true) || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar12 = local_80 + -1;\n              if (0 < iVar12) goto LAB_0002b927;\n              iVar6 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar12 = 2;\nLAB_0002b927:\n            if (local_80 < iVar12) {\n              iVar12 = local_80;\n            }\n            iVar6 = 0;\n            do {\n              pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40);\n              if (pcVar5 == (char *)0x0) {\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }\n              iVar6 = iVar6 + 1;\n              logputs(LOG_VERBOSE,buf_6806);\n              logputs(LOG_VERBOSE,", ");\n            } while (iVar6 < iVar12);\n            if (iVar6 < local_80) {\nLAB_0002bb53:\n              do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);\n            }\n            if (value->count != local_80) {\n              logputs(LOG_VERBOSE,", ...");\n            }\n          }\n          logputs(LOG_VERBOSE,"\n");\n        }\n        if (local_65 != '\0') {\n          if (host_name_addresses_map == (hash_table *)0x0) {\n            host_name_addresses_map = make_nocase_string_hash_table(0);\n          }\n          value->refcount = value->refcount + 1;\n          pcVar5 = xstrdup_lower(host);\n          hash_table_put(host_name_addresses_map,pcVar5,value);\n          if (opt.debug != false) {\n            debug_logprintf("Caching %s =>",host);\n            if (0 < value->count) {\n              iVar12 = 0;\n              do {\n                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }\n                piVar10 = __errno_location();\n                iVar12 = iVar12 + 1;\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                debug_logprintf(" %s",buf_6806);\n              } while (iVar12 < value->count);\n            }\nLAB_0002bc5a:\n            debug_logprintf("\n",host);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar14;\n      if (uVar14 == 0) goto LAB_0002bce8;\n    }" { (if_statement "if (res != (addrinfo *)0x0) {\n        iVar12 = 0;\n        paVar13 = res;\n        do {\n          piVar10 = &paVar13->ai_family;\n          paVar13 = paVar13->ai_next;\n          iVar12 = iVar12 + (uint)((*piVar10 & 0xfffffff7U) == 2);\n        } while (paVar13 != (addrinfo *)0x0);\n        if (iVar12 == 0) {\n          freeaddrinfo((addrinfo *)res);\n          pcVar5 = (char *)dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          logprintf(LOG_VERBOSE,pcVar5);\n          value = (address_list *)0x0;\n          goto LAB_0002bafc;\n        }\n        value = (address_list *)xcalloc(1,0x14);\n        piVar8 = (ip_address *)xmalloc(iVar12 * 0x18);\n        value->count = iVar12;\n        value->addresses = piVar8;\n        value->refcount = 1;\n        do {\n          while (paVar16->ai_family != 10) {\n            piVar9 = piVar8;\n            if (paVar16->ai_family == 2) {\n              psVar2 = paVar16->ai_addr;\n              piVar9 = piVar8 + 1;\n              piVar8->family = 2;\n              (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2);\n            }\n            paVar16 = paVar16->ai_next;\n            piVar8 = piVar9;\n            if (paVar16 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar2 = paVar16->ai_addr;\n          paVar16 = paVar16->ai_next;\n          piVar8->family = 10;\n          (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 4) = *(undefined4 *)(psVar2->sa_data + 10);\n          *(undefined4 *)((int)&piVar8->data + 8) = *(undefined4 *)(psVar2 + 1);\n          iVar12 = *(int *)(psVar2[1].sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 0xc) = *(undefined4 *)(psVar2[1].sa_data + 2);\n          piVar8->ipv6_scope = iVar12;\n          piVar8 = piVar8 + 1;\n        } while (paVar16 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo((addrinfo *)res);\n        if ((1 < value->count) && (opt.prefer_family != AP_DECODE_ENTITIES)) {\n          cmpfun = cmp_prefer_ipv4;\n          if (opt.prefer_family != CSSEOF) {\n            cmpfun = cmp_prefer_ipv6;\n          }\n          stable_sort(value->addresses,value->count,0x18,cmpfun);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = value->count;\n          if ((opt.show_all_dns_entries == true) || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar12 = local_80 + -1;\n              if (0 < iVar12) goto LAB_0002b927;\n              iVar6 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar12 = 2;\nLAB_0002b927:\n            if (local_80 < iVar12) {\n              iVar12 = local_80;\n            }\n            iVar6 = 0;\n            do {\n              pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40);\n              if (pcVar5 == (char *)0x0) {\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }\n              iVar6 = iVar6 + 1;\n              logputs(LOG_VERBOSE,buf_6806);\n              logputs(LOG_VERBOSE,", ");\n            } while (iVar6 < iVar12);\n            if (iVar6 < local_80) {\nLAB_0002bb53:\n              do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);\n            }\n            if (value->count != local_80) {\n              logputs(LOG_VERBOSE,", ...");\n            }\n          }\n          logputs(LOG_VERBOSE,"\n");\n        }\n        if (local_65 != '\0') {\n          if (host_name_addresses_map == (hash_table *)0x0) {\n            host_name_addresses_map = make_nocase_string_hash_table(0);\n          }\n          value->refcount = value->refcount + 1;\n          pcVar5 = xstrdup_lower(host);\n          hash_table_put(host_name_addresses_map,pcVar5,value);\n          if (opt.debug != false) {\n            debug_logprintf("Caching %s =>",host);\n            if (0 < value->count) {\n              iVar12 = 0;\n              do {\n                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }\n                piVar10 = __errno_location();\n                iVar12 = iVar12 + 1;\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                debug_logprintf(" %s",buf_6806);\n              } while (iVar12 < value->count);\n            }\nLAB_0002bc5a:\n            debug_logprintf("\n",host);\n          }\n        }\n        goto LAB_0002bafc;\n      }" if (parenthesized_expression "(res != (addrinfo *)0x0)" ( (binary_expression "res != (addrinfo *)0x0" identifier != (cast_expression "(addrinfo *)0x0" ( (type_descriptor "addrinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar12 = 0;\n        paVar13 = res;\n        do {\n          piVar10 = &paVar13->ai_family;\n          paVar13 = paVar13->ai_next;\n          iVar12 = iVar12 + (uint)((*piVar10 & 0xfffffff7U) == 2);\n        } while (paVar13 != (addrinfo *)0x0);\n        if (iVar12 == 0) {\n          freeaddrinfo((addrinfo *)res);\n          pcVar5 = (char *)dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          logprintf(LOG_VERBOSE,pcVar5);\n          value = (address_list *)0x0;\n          goto LAB_0002bafc;\n        }\n        value = (address_list *)xcalloc(1,0x14);\n        piVar8 = (ip_address *)xmalloc(iVar12 * 0x18);\n        value->count = iVar12;\n        value->addresses = piVar8;\n        value->refcount = 1;\n        do {\n          while (paVar16->ai_family != 10) {\n            piVar9 = piVar8;\n            if (paVar16->ai_family == 2) {\n              psVar2 = paVar16->ai_addr;\n              piVar9 = piVar8 + 1;\n              piVar8->family = 2;\n              (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2);\n            }\n            paVar16 = paVar16->ai_next;\n            piVar8 = piVar9;\n            if (paVar16 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar2 = paVar16->ai_addr;\n          paVar16 = paVar16->ai_next;\n          piVar8->family = 10;\n          (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 4) = *(undefined4 *)(psVar2->sa_data + 10);\n          *(undefined4 *)((int)&piVar8->data + 8) = *(undefined4 *)(psVar2 + 1);\n          iVar12 = *(int *)(psVar2[1].sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 0xc) = *(undefined4 *)(psVar2[1].sa_data + 2);\n          piVar8->ipv6_scope = iVar12;\n          piVar8 = piVar8 + 1;\n        } while (paVar16 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo((addrinfo *)res);\n        if ((1 < value->count) && (opt.prefer_family != AP_DECODE_ENTITIES)) {\n          cmpfun = cmp_prefer_ipv4;\n          if (opt.prefer_family != CSSEOF) {\n            cmpfun = cmp_prefer_ipv6;\n          }\n          stable_sort(value->addresses,value->count,0x18,cmpfun);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = value->count;\n          if ((opt.show_all_dns_entries == true) || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar12 = local_80 + -1;\n              if (0 < iVar12) goto LAB_0002b927;\n              iVar6 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar12 = 2;\nLAB_0002b927:\n            if (local_80 < iVar12) {\n              iVar12 = local_80;\n            }\n            iVar6 = 0;\n            do {\n              pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40);\n              if (pcVar5 == (char *)0x0) {\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }\n              iVar6 = iVar6 + 1;\n              logputs(LOG_VERBOSE,buf_6806);\n              logputs(LOG_VERBOSE,", ");\n            } while (iVar6 < iVar12);\n            if (iVar6 < local_80) {\nLAB_0002bb53:\n              do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);\n            }\n            if (value->count != local_80) {\n              logputs(LOG_VERBOSE,", ...");\n            }\n          }\n          logputs(LOG_VERBOSE,"\n");\n        }\n        if (local_65 != '\0') {\n          if (host_name_addresses_map == (hash_table *)0x0) {\n            host_name_addresses_map = make_nocase_string_hash_table(0);\n          }\n          value->refcount = value->refcount + 1;\n          pcVar5 = xstrdup_lower(host);\n          hash_table_put(host_name_addresses_map,pcVar5,value);\n          if (opt.debug != false) {\n            debug_logprintf("Caching %s =>",host);\n            if (0 < value->count) {\n              iVar12 = 0;\n              do {\n                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }\n                piVar10 = __errno_location();\n                iVar12 = iVar12 + 1;\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                debug_logprintf(" %s",buf_6806);\n              } while (iVar12 < value->count);\n            }\nLAB_0002bc5a:\n            debug_logprintf("\n",host);\n          }\n        }\n        goto LAB_0002bafc;\n      }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "paVar13 = res;" (assignment_expression "paVar13 = res" identifier = identifier) ;) (do_statement "do {\n          piVar10 = &paVar13->ai_family;\n          paVar13 = paVar13->ai_next;\n          iVar12 = iVar12 + (uint)((*piVar10 & 0xfffffff7U) == 2);\n        } while (paVar13 != (addrinfo *)0x0);" do (compound_statement "{\n          piVar10 = &paVar13->ai_family;\n          paVar13 = paVar13->ai_next;\n          iVar12 = iVar12 + (uint)((*piVar10 & 0xfffffff7U) == 2);\n        }" { (expression_statement "piVar10 = &paVar13->ai_family;" (assignment_expression "piVar10 = &paVar13->ai_family" identifier = (pointer_expression "&paVar13->ai_family" & (field_expression "paVar13->ai_family" identifier -> field_identifier))) ;) (expression_statement "paVar13 = paVar13->ai_next;" (assignment_expression "paVar13 = paVar13->ai_next" identifier = (field_expression "paVar13->ai_next" identifier -> field_identifier)) ;) (expression_statement "iVar12 = iVar12 + (uint)((*piVar10 & 0xfffffff7U) == 2);" (assignment_expression "iVar12 = iVar12 + (uint)((*piVar10 & 0xfffffff7U) == 2)" identifier = (binary_expression "iVar12 + (uint)((*piVar10 & 0xfffffff7U) == 2)" identifier + (call_expression "(uint)((*piVar10 & 0xfffffff7U) == 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*piVar10 & 0xfffffff7U) == 2)" ( (binary_expression "(*piVar10 & 0xfffffff7U) == 2" (parenthesized_expression "(*piVar10 & 0xfffffff7U)" ( (binary_expression "*piVar10 & 0xfffffff7U" (pointer_expression "*piVar10" * identifier) & number_literal) )) == number_literal) ))))) ;) }) while (parenthesized_expression "(paVar13 != (addrinfo *)0x0)" ( (binary_expression "paVar13 != (addrinfo *)0x0" identifier != (cast_expression "(addrinfo *)0x0" ( (type_descriptor "addrinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (iVar12 == 0) {\n          freeaddrinfo((addrinfo *)res);\n          pcVar5 = (char *)dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          logprintf(LOG_VERBOSE,pcVar5);\n          value = (address_list *)0x0;\n          goto LAB_0002bafc;\n        }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n          freeaddrinfo((addrinfo *)res);\n          pcVar5 = (char *)dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          logprintf(LOG_VERBOSE,pcVar5);\n          value = (address_list *)0x0;\n          goto LAB_0002bafc;\n        }" { (expression_statement "freeaddrinfo((addrinfo *)res);" (call_expression "freeaddrinfo((addrinfo *)res)" identifier (argument_list "((addrinfo *)res)" ( (cast_expression "(addrinfo *)res" ( (type_descriptor "addrinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "pcVar5 = (char *)dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5)" identifier (argument_list "(0,"failed: No IPv4/IPv6 addresses for host.\n",5)" ( number_literal , (string_literal ""failed: No IPv4/IPv6 addresses for host.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "logprintf(LOG_VERBOSE,pcVar5);" (call_expression "logprintf(LOG_VERBOSE,pcVar5)" identifier (argument_list "(LOG_VERBOSE,pcVar5)" ( identifier , identifier ))) ;) (expression_statement "value = (address_list *)0x0;" (assignment_expression "value = (address_list *)0x0" identifier = (cast_expression "(address_list *)0x0" ( (type_descriptor "address_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0002bafc;" goto statement_identifier ;) })) (expression_statement "value = (address_list *)xcalloc(1,0x14);" (assignment_expression "value = (address_list *)xcalloc(1,0x14)" identifier = (cast_expression "(address_list *)xcalloc(1,0x14)" ( (type_descriptor "address_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xcalloc(1,0x14)" identifier (argument_list "(1,0x14)" ( number_literal , number_literal ))))) ;) (expression_statement "piVar8 = (ip_address *)xmalloc(iVar12 * 0x18);" (assignment_expression "piVar8 = (ip_address *)xmalloc(iVar12 * 0x18)" identifier = (cast_expression "(ip_address *)xmalloc(iVar12 * 0x18)" ( (type_descriptor "ip_address *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(iVar12 * 0x18)" identifier (argument_list "(iVar12 * 0x18)" ( (binary_expression "iVar12 * 0x18" identifier * number_literal) ))))) ;) (expression_statement "value->count = iVar12;" (assignment_expression "value->count = iVar12" (field_expression "value->count" identifier -> field_identifier) = identifier) ;) (expression_statement "value->addresses = piVar8;" (assignment_expression "value->addresses = piVar8" (field_expression "value->addresses" identifier -> field_identifier) = identifier) ;) (expression_statement "value->refcount = 1;" (assignment_expression "value->refcount = 1" (field_expression "value->refcount" identifier -> field_identifier) = number_literal) ;) (do_statement "do {\n          while (paVar16->ai_family != 10) {\n            piVar9 = piVar8;\n            if (paVar16->ai_family == 2) {\n              psVar2 = paVar16->ai_addr;\n              piVar9 = piVar8 + 1;\n              piVar8->family = 2;\n              (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2);\n            }\n            paVar16 = paVar16->ai_next;\n            piVar8 = piVar9;\n            if (paVar16 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar2 = paVar16->ai_addr;\n          paVar16 = paVar16->ai_next;\n          piVar8->family = 10;\n          (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 4) = *(undefined4 *)(psVar2->sa_data + 10);\n          *(undefined4 *)((int)&piVar8->data + 8) = *(undefined4 *)(psVar2 + 1);\n          iVar12 = *(int *)(psVar2[1].sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 0xc) = *(undefined4 *)(psVar2[1].sa_data + 2);\n          piVar8->ipv6_scope = iVar12;\n          piVar8 = piVar8 + 1;\n        } while (paVar16 != (addrinfo *)0x0);" do (compound_statement "{\n          while (paVar16->ai_family != 10) {\n            piVar9 = piVar8;\n            if (paVar16->ai_family == 2) {\n              psVar2 = paVar16->ai_addr;\n              piVar9 = piVar8 + 1;\n              piVar8->family = 2;\n              (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2);\n            }\n            paVar16 = paVar16->ai_next;\n            piVar8 = piVar9;\n            if (paVar16 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar2 = paVar16->ai_addr;\n          paVar16 = paVar16->ai_next;\n          piVar8->family = 10;\n          (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 4) = *(undefined4 *)(psVar2->sa_data + 10);\n          *(undefined4 *)((int)&piVar8->data + 8) = *(undefined4 *)(psVar2 + 1);\n          iVar12 = *(int *)(psVar2[1].sa_data + 6);\n          *(undefined4 *)((int)&piVar8->data + 0xc) = *(undefined4 *)(psVar2[1].sa_data + 2);\n          piVar8->ipv6_scope = iVar12;\n          piVar8 = piVar8 + 1;\n        }" { (while_statement "while (paVar16->ai_family != 10) {\n            piVar9 = piVar8;\n            if (paVar16->ai_family == 2) {\n              psVar2 = paVar16->ai_addr;\n              piVar9 = piVar8 + 1;\n              piVar8->family = 2;\n              (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2);\n            }\n            paVar16 = paVar16->ai_next;\n            piVar8 = piVar9;\n            if (paVar16 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }" while (parenthesized_expression "(paVar16->ai_family != 10)" ( (binary_expression "paVar16->ai_family != 10" (field_expression "paVar16->ai_family" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n            piVar9 = piVar8;\n            if (paVar16->ai_family == 2) {\n              psVar2 = paVar16->ai_addr;\n              piVar9 = piVar8 + 1;\n              piVar8->family = 2;\n              (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2);\n            }\n            paVar16 = paVar16->ai_next;\n            piVar8 = piVar9;\n            if (paVar16 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }" { (expression_statement "piVar9 = piVar8;" (assignment_expression "piVar9 = piVar8" identifier = identifier) ;) (if_statement "if (paVar16->ai_family == 2) {\n              psVar2 = paVar16->ai_addr;\n              piVar9 = piVar8 + 1;\n              piVar8->family = 2;\n              (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2);\n            }" if (parenthesized_expression "(paVar16->ai_family == 2)" ( (binary_expression "paVar16->ai_family == 2" (field_expression "paVar16->ai_family" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n              psVar2 = paVar16->ai_addr;\n              piVar9 = piVar8 + 1;\n              piVar8->family = 2;\n              (piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2);\n            }" { (expression_statement "psVar2 = paVar16->ai_addr;" (assignment_expression "psVar2 = paVar16->ai_addr" identifier = (field_expression "paVar16->ai_addr" identifier -> field_identifier)) ;) (expression_statement "piVar9 = piVar8 + 1;" (assignment_expression "piVar9 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) (expression_statement "piVar8->family = 2;" (assignment_expression "piVar8->family = 2" (field_expression "piVar8->family" identifier -> field_identifier) = number_literal) ;) (expression_statement "(piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2);" (assignment_expression "(piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 2)" (field_expression "(piVar8->data).d4.s_addr" (field_expression "(piVar8->data).d4" (parenthesized_expression "(piVar8->data)" ( (field_expression "piVar8->data" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (pointer_expression "*(in_addr_t *)(psVar2->sa_data + 2)" * (cast_expression "(in_addr_t *)(psVar2->sa_data + 2)" ( (type_descriptor "in_addr_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar2->sa_data + 2)" ( (binary_expression "psVar2->sa_data + 2" (field_expression "psVar2->sa_data" identifier -> field_identifier) + number_literal) ))))) ;) })) (expression_statement "paVar16 = paVar16->ai_next;" (assignment_expression "paVar16 = paVar16->ai_next" identifier = (field_expression "paVar16->ai_next" identifier -> field_identifier)) ;) (expression_statement "piVar8 = piVar9;" (assignment_expression "piVar8 = piVar9" identifier = identifier) ;) (if_statement "if (paVar16 == (addrinfo *)0x0) goto LAB_0002b8a8;" if (parenthesized_expression "(paVar16 == (addrinfo *)0x0)" ( (binary_expression "paVar16 == (addrinfo *)0x0" identifier == (cast_expression "(addrinfo *)0x0" ( (type_descriptor "addrinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0002b8a8;" goto statement_identifier ;)) })) (expression_statement "psVar2 = paVar16->ai_addr;" (assignment_expression "psVar2 = paVar16->ai_addr" identifier = (field_expression "paVar16->ai_addr" identifier -> field_identifier)) ;) (expression_statement "paVar16 = paVar16->ai_next;" (assignment_expression "paVar16 = paVar16->ai_next" identifier = (field_expression "paVar16->ai_next" identifier -> field_identifier)) ;) (expression_statement "piVar8->family = 10;" (assignment_expression "piVar8->family = 10" (field_expression "piVar8->family" identifier -> field_identifier) = number_literal) ;) (expression_statement "(piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 6);" (assignment_expression "(piVar8->data).d4.s_addr = *(in_addr_t *)(psVar2->sa_data + 6)" (field_expression "(piVar8->data).d4.s_addr" (field_expression "(piVar8->data).d4" (parenthesized_expression "(piVar8->data)" ( (field_expression "piVar8->data" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (pointer_expression "*(in_addr_t *)(psVar2->sa_data + 6)" * (cast_expression "(in_addr_t *)(psVar2->sa_data + 6)" ( (type_descriptor "in_addr_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar2->sa_data + 6)" ( (binary_expression "psVar2->sa_data + 6" (field_expression "psVar2->sa_data" identifier -> field_identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)&piVar8->data + 4) = *(undefined4 *)(psVar2->sa_data + 10);" (assignment_expression "*(undefined4 *)((int)&piVar8->data + 4) = *(undefined4 *)(psVar2->sa_data + 10)" (pointer_expression "*(undefined4 *)((int)&piVar8->data + 4)" * (cast_expression "(undefined4 *)((int)&piVar8->data + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&piVar8->data + 4)" ( (binary_expression "(int)&piVar8->data + 4" (cast_expression "(int)&piVar8->data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&piVar8->data" & (field_expression "piVar8->data" identifier -> field_identifier))) + number_literal) )))) = (pointer_expression "*(undefined4 *)(psVar2->sa_data + 10)" * (cast_expression "(undefined4 *)(psVar2->sa_data + 10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar2->sa_data + 10)" ( (binary_expression "psVar2->sa_data + 10" (field_expression "psVar2->sa_data" identifier -> field_identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)&piVar8->data + 8) = *(undefined4 *)(psVar2 + 1);" (assignment_expression "*(undefined4 *)((int)&piVar8->data + 8) = *(undefined4 *)(psVar2 + 1)" (pointer_expression "*(undefined4 *)((int)&piVar8->data + 8)" * (cast_expression "(undefined4 *)((int)&piVar8->data + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&piVar8->data + 8)" ( (binary_expression "(int)&piVar8->data + 8" (cast_expression "(int)&piVar8->data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&piVar8->data" & (field_expression "piVar8->data" identifier -> field_identifier))) + number_literal) )))) = (pointer_expression "*(undefined4 *)(psVar2 + 1)" * (cast_expression "(undefined4 *)(psVar2 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar2 + 1)" ( (binary_expression "psVar2 + 1" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(psVar2[1].sa_data + 6);" (assignment_expression "iVar12 = *(int *)(psVar2[1].sa_data + 6)" identifier = (pointer_expression "*(int *)(psVar2[1].sa_data + 6)" * (cast_expression "(int *)(psVar2[1].sa_data + 6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar2[1].sa_data + 6)" ( (binary_expression "psVar2[1].sa_data + 6" (field_expression "psVar2[1].sa_data" (subscript_expression "psVar2[1]" identifier [ number_literal ]) . field_identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)&piVar8->data + 0xc) = *(undefined4 *)(psVar2[1].sa_data + 2);" (assignment_expression "*(undefined4 *)((int)&piVar8->data + 0xc) = *(undefined4 *)(psVar2[1].sa_data + 2)" (pointer_expression "*(undefined4 *)((int)&piVar8->data + 0xc)" * (cast_expression "(undefined4 *)((int)&piVar8->data + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&piVar8->data + 0xc)" ( (binary_expression "(int)&piVar8->data + 0xc" (cast_expression "(int)&piVar8->data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&piVar8->data" & (field_expression "piVar8->data" identifier -> field_identifier))) + number_literal) )))) = (pointer_expression "*(undefined4 *)(psVar2[1].sa_data + 2)" * (cast_expression "(undefined4 *)(psVar2[1].sa_data + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar2[1].sa_data + 2)" ( (binary_expression "psVar2[1].sa_data + 2" (field_expression "psVar2[1].sa_data" (subscript_expression "psVar2[1]" identifier [ number_literal ]) . field_identifier) + number_literal) ))))) ;) (expression_statement "piVar8->ipv6_scope = iVar12;" (assignment_expression "piVar8->ipv6_scope = iVar12" (field_expression "piVar8->ipv6_scope" identifier -> field_identifier) = identifier) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(paVar16 != (addrinfo *)0x0)" ( (binary_expression "paVar16 != (addrinfo *)0x0" identifier != (cast_expression "(addrinfo *)0x0" ( (type_descriptor "addrinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_0002b8a8:\n        freeaddrinfo((addrinfo *)res);" statement_identifier : (expression_statement "freeaddrinfo((addrinfo *)res);" (call_expression "freeaddrinfo((addrinfo *)res)" identifier (argument_list "((addrinfo *)res)" ( (cast_expression "(addrinfo *)res" ( (type_descriptor "addrinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (if_statement "if ((1 < value->count) && (opt.prefer_family != AP_DECODE_ENTITIES)) {\n          cmpfun = cmp_prefer_ipv4;\n          if (opt.prefer_family != CSSEOF) {\n            cmpfun = cmp_prefer_ipv6;\n          }\n          stable_sort(value->addresses,value->count,0x18,cmpfun);\n        }" if (parenthesized_expression "((1 < value->count) && (opt.prefer_family != AP_DECODE_ENTITIES))" ( (binary_expression "(1 < value->count) && (opt.prefer_family != AP_DECODE_ENTITIES)" (parenthesized_expression "(1 < value->count)" ( (binary_expression "1 < value->count" number_literal < (field_expression "value->count" identifier -> field_identifier)) )) && (parenthesized_expression "(opt.prefer_family != AP_DECODE_ENTITIES)" ( (binary_expression "opt.prefer_family != AP_DECODE_ENTITIES" (field_expression "opt.prefer_family" identifier . field_identifier) != identifier) ))) )) (compound_statement "{\n          cmpfun = cmp_prefer_ipv4;\n          if (opt.prefer_family != CSSEOF) {\n            cmpfun = cmp_prefer_ipv6;\n          }\n          stable_sort(value->addresses,value->count,0x18,cmpfun);\n        }" { (expression_statement "cmpfun = cmp_prefer_ipv4;" (assignment_expression "cmpfun = cmp_prefer_ipv4" identifier = identifier) ;) (if_statement "if (opt.prefer_family != CSSEOF) {\n            cmpfun = cmp_prefer_ipv6;\n          }" if (parenthesized_expression "(opt.prefer_family != CSSEOF)" ( (binary_expression "opt.prefer_family != CSSEOF" (field_expression "opt.prefer_family" identifier . field_identifier) != identifier) )) (compound_statement "{\n            cmpfun = cmp_prefer_ipv6;\n          }" { (expression_statement "cmpfun = cmp_prefer_ipv6;" (assignment_expression "cmpfun = cmp_prefer_ipv6" identifier = identifier) ;) })) (expression_statement "stable_sort(value->addresses,value->count,0x18,cmpfun);" (call_expression "stable_sort(value->addresses,value->count,0x18,cmpfun)" identifier (argument_list "(value->addresses,value->count,0x18,cmpfun)" ( (field_expression "value->addresses" identifier -> field_identifier) , (field_expression "value->count" identifier -> field_identifier) , number_literal , identifier ))) ;) })) (if_statement "if ((char)local_80 != '\0') {\n          local_80 = value->count;\n          if ((opt.show_all_dns_entries == true) || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar12 = local_80 + -1;\n              if (0 < iVar12) goto LAB_0002b927;\n              iVar6 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar12 = 2;\nLAB_0002b927:\n            if (local_80 < iVar12) {\n              iVar12 = local_80;\n            }\n            iVar6 = 0;\n            do {\n              pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40);\n              if (pcVar5 == (char *)0x0) {\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }\n              iVar6 = iVar6 + 1;\n              logputs(LOG_VERBOSE,buf_6806);\n              logputs(LOG_VERBOSE,", ");\n            } while (iVar6 < iVar12);\n            if (iVar6 < local_80) {\nLAB_0002bb53:\n              do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);\n            }\n            if (value->count != local_80) {\n              logputs(LOG_VERBOSE,", ...");\n            }\n          }\n          logputs(LOG_VERBOSE,"\n");\n        }" if (parenthesized_expression "((char)local_80 != '\0')" ( (binary_expression "(char)local_80 != '\0'" (cast_expression "(char)local_80" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_80 = value->count;\n          if ((opt.show_all_dns_entries == true) || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar12 = local_80 + -1;\n              if (0 < iVar12) goto LAB_0002b927;\n              iVar6 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar12 = 2;\nLAB_0002b927:\n            if (local_80 < iVar12) {\n              iVar12 = local_80;\n            }\n            iVar6 = 0;\n            do {\n              pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40);\n              if (pcVar5 == (char *)0x0) {\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }\n              iVar6 = iVar6 + 1;\n              logputs(LOG_VERBOSE,buf_6806);\n              logputs(LOG_VERBOSE,", ");\n            } while (iVar6 < iVar12);\n            if (iVar6 < local_80) {\nLAB_0002bb53:\n              do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);\n            }\n            if (value->count != local_80) {\n              logputs(LOG_VERBOSE,", ...");\n            }\n          }\n          logputs(LOG_VERBOSE,"\n");\n        }" { (expression_statement "local_80 = value->count;" (assignment_expression "local_80 = value->count" identifier = (field_expression "value->count" identifier -> field_identifier)) ;) (if_statement "if ((opt.show_all_dns_entries == true) || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar12 = local_80 + -1;\n              if (0 < iVar12) goto LAB_0002b927;\n              iVar6 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar12 = 2;\nLAB_0002b927:\n            if (local_80 < iVar12) {\n              iVar12 = local_80;\n            }\n            iVar6 = 0;\n            do {\n              pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40);\n              if (pcVar5 == (char *)0x0) {\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }\n              iVar6 = iVar6 + 1;\n              logputs(LOG_VERBOSE,buf_6806);\n              logputs(LOG_VERBOSE,", ");\n            } while (iVar6 < iVar12);\n            if (iVar6 < local_80) {\nLAB_0002bb53:\n              do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);\n            }\n            if (value->count != local_80) {\n              logputs(LOG_VERBOSE,", ...");\n            }\n          }" if (parenthesized_expression "((opt.show_all_dns_entries == true) || (local_80 < 4))" ( (binary_expression "(opt.show_all_dns_entries == true) || (local_80 < 4)" (parenthesized_expression "(opt.show_all_dns_entries == true)" ( (binary_expression "opt.show_all_dns_entries == true" (field_expression "opt.show_all_dns_entries" identifier . field_identifier) == true) )) || (parenthesized_expression "(local_80 < 4)" ( (binary_expression "local_80 < 4" identifier < number_literal) ))) )) (compound_statement "{\n            if (0 < local_80) {\n              iVar12 = local_80 + -1;\n              if (0 < iVar12) goto LAB_0002b927;\n              iVar6 = 0;\n              goto LAB_0002bb53;\n            }\n          }" { (if_statement "if (0 < local_80) {\n              iVar12 = local_80 + -1;\n              if (0 < iVar12) goto LAB_0002b927;\n              iVar6 = 0;\n              goto LAB_0002bb53;\n            }" if (parenthesized_expression "(0 < local_80)" ( (binary_expression "0 < local_80" number_literal < identifier) )) (compound_statement "{\n              iVar12 = local_80 + -1;\n              if (0 < iVar12) goto LAB_0002b927;\n              iVar6 = 0;\n              goto LAB_0002bb53;\n            }" { (expression_statement "iVar12 = local_80 + -1;" (assignment_expression "iVar12 = local_80 + -1" identifier = (binary_expression "local_80 + -1" identifier + number_literal)) ;) (if_statement "if (0 < iVar12) goto LAB_0002b927;" if (parenthesized_expression "(0 < iVar12)" ( (binary_expression "0 < iVar12" number_literal < identifier) )) (goto_statement "goto LAB_0002b927;" goto statement_identifier ;)) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0002bb53;" goto statement_identifier ;) })) }) (else_clause "else {\n            local_80 = 3;\n            iVar12 = 2;\nLAB_0002b927:\n            if (local_80 < iVar12) {\n              iVar12 = local_80;\n            }\n            iVar6 = 0;\n            do {\n              pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40);\n              if (pcVar5 == (char *)0x0) {\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }\n              iVar6 = iVar6 + 1;\n              logputs(LOG_VERBOSE,buf_6806);\n              logputs(LOG_VERBOSE,", ");\n            } while (iVar6 < iVar12);\n            if (iVar6 < local_80) {\nLAB_0002bb53:\n              do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);\n            }\n            if (value->count != local_80) {\n              logputs(LOG_VERBOSE,", ...");\n            }\n          }" else (compound_statement "{\n            local_80 = 3;\n            iVar12 = 2;\nLAB_0002b927:\n            if (local_80 < iVar12) {\n              iVar12 = local_80;\n            }\n            iVar6 = 0;\n            do {\n              pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40);\n              if (pcVar5 == (char *)0x0) {\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }\n              iVar6 = iVar6 + 1;\n              logputs(LOG_VERBOSE,buf_6806);\n              logputs(LOG_VERBOSE,", ");\n            } while (iVar6 < iVar12);\n            if (iVar6 < local_80) {\nLAB_0002bb53:\n              do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);\n            }\n            if (value->count != local_80) {\n              logputs(LOG_VERBOSE,", ...");\n            }\n          }" { (expression_statement "local_80 = 3;" (assignment_expression "local_80 = 3" identifier = number_literal) ;) (expression_statement "iVar12 = 2;" (assignment_expression "iVar12 = 2" identifier = number_literal) ;) (labeled_statement "LAB_0002b927:\n            if (local_80 < iVar12) {\n              iVar12 = local_80;\n            }" statement_identifier : (if_statement "if (local_80 < iVar12) {\n              iVar12 = local_80;\n            }" if (parenthesized_expression "(local_80 < iVar12)" ( (binary_expression "local_80 < iVar12" identifier < identifier) )) (compound_statement "{\n              iVar12 = local_80;\n            }" { (expression_statement "iVar12 = local_80;" (assignment_expression "iVar12 = local_80" identifier = identifier) ;) }))) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n              pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40);\n              if (pcVar5 == (char *)0x0) {\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }\n              iVar6 = iVar6 + 1;\n              logputs(LOG_VERBOSE,buf_6806);\n              logputs(LOG_VERBOSE,", ");\n            } while (iVar6 < iVar12);" do (compound_statement "{\n              pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40);\n              if (pcVar5 == (char *)0x0) {\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }\n              iVar6 = iVar6 + 1;\n              logputs(LOG_VERBOSE,buf_6806);\n              logputs(LOG_VERBOSE,", ");\n            }" { (expression_statement "pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40);" (assignment_expression "pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40)" identifier = (call_expression "inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40)" identifier (argument_list "(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                 buf_6806,0x40)" ( (field_expression "value->addresses[iVar6].family" (subscript_expression "value->addresses[iVar6]" (field_expression "value->addresses" identifier -> field_identifier) [ identifier ]) . field_identifier) , (pointer_expression "&value->addresses[iVar6].data" & (field_expression "value->addresses[iVar6].data" (subscript_expression "value->addresses[iVar6]" (field_expression "value->addresses" identifier -> field_identifier) [ identifier ]) . field_identifier)) , identifier , number_literal )))) ;) (if_statement "if (pcVar5 == (char *)0x0) {\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }" if (parenthesized_expression "(pcVar5 == (char *)0x0)" ( (binary_expression "pcVar5 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                piVar10 = __errno_location();\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n              }" { (expression_statement "piVar10 = __errno_location();" (assignment_expression "piVar10 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar5 = rpl_strerror(*piVar10);" (assignment_expression "pcVar5 = rpl_strerror(*piVar10)" identifier = (call_expression "rpl_strerror(*piVar10)" identifier (argument_list "(*piVar10)" ( (pointer_expression "*piVar10" * identifier) )))) ;) (expression_statement "__snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);" (call_expression "__snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5)" identifier (argument_list "(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5)" ( identifier , number_literal , number_literal , number_literal , (string_literal ""<error: %s>"" " string_content ") , identifier ))) ;) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "logputs(LOG_VERBOSE,buf_6806);" (call_expression "logputs(LOG_VERBOSE,buf_6806)" identifier (argument_list "(LOG_VERBOSE,buf_6806)" ( identifier , identifier ))) ;) (expression_statement "logputs(LOG_VERBOSE,", ");" (call_expression "logputs(LOG_VERBOSE,", ")" identifier (argument_list "(LOG_VERBOSE,", ")" ( identifier , (string_literal "", "" " string_content ") ))) ;) }) while (parenthesized_expression "(iVar6 < iVar12)" ( (binary_expression "iVar6 < iVar12" identifier < identifier) )) ;) (if_statement "if (iVar6 < local_80) {\nLAB_0002bb53:\n              do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);\n            }" if (parenthesized_expression "(iVar6 < local_80)" ( (binary_expression "iVar6 < local_80" identifier < identifier) )) (compound_statement "{\nLAB_0002bb53:\n              do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);\n            }" { (labeled_statement "LAB_0002bb53:\n              do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);" statement_identifier : (do_statement "do {\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              } while (iVar6 < local_80);" do (compound_statement "{\n                pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);\n                if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }\n                iVar6 = iVar6 + 1;\n                logputs(LOG_VERBOSE,buf_6806);\n              }" { (expression_statement "pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40);" (assignment_expression "pcVar5 = inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40)" identifier = (call_expression "inet_ntop(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40)" identifier (argument_list "(value->addresses[iVar6].family,&value->addresses[iVar6].data,\n                                   buf_6806,0x40)" ( (field_expression "value->addresses[iVar6].family" (subscript_expression "value->addresses[iVar6]" (field_expression "value->addresses" identifier -> field_identifier) [ identifier ]) . field_identifier) , (pointer_expression "&value->addresses[iVar6].data" & (field_expression "value->addresses[iVar6].data" (subscript_expression "value->addresses[iVar6]" (field_expression "value->addresses" identifier -> field_identifier) [ identifier ]) . field_identifier)) , identifier , number_literal )))) ;) (if_statement "if (pcVar5 == (char *)0x0) {\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }" if (parenthesized_expression "(pcVar5 == (char *)0x0)" ( (binary_expression "pcVar5 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  piVar10 = __errno_location();\n                  pcVar5 = rpl_strerror(*piVar10);\n                  __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                }" { (expression_statement "piVar10 = __errno_location();" (assignment_expression "piVar10 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar5 = rpl_strerror(*piVar10);" (assignment_expression "pcVar5 = rpl_strerror(*piVar10)" identifier = (call_expression "rpl_strerror(*piVar10)" identifier (argument_list "(*piVar10)" ( (pointer_expression "*piVar10" * identifier) )))) ;) (expression_statement "__snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);" (call_expression "__snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5)" identifier (argument_list "(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5)" ( identifier , number_literal , number_literal , number_literal , (string_literal ""<error: %s>"" " string_content ") , identifier ))) ;) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "logputs(LOG_VERBOSE,buf_6806);" (call_expression "logputs(LOG_VERBOSE,buf_6806)" identifier (argument_list "(LOG_VERBOSE,buf_6806)" ( identifier , identifier ))) ;) }) while (parenthesized_expression "(iVar6 < local_80)" ( (binary_expression "iVar6 < local_80" identifier < identifier) )) ;)) })) (if_statement "if (value->count != local_80) {\n              logputs(LOG_VERBOSE,", ...");\n            }" if (parenthesized_expression "(value->count != local_80)" ( (binary_expression "value->count != local_80" (field_expression "value->count" identifier -> field_identifier) != identifier) )) (compound_statement "{\n              logputs(LOG_VERBOSE,", ...");\n            }" { (expression_statement "logputs(LOG_VERBOSE,", ...");" (call_expression "logputs(LOG_VERBOSE,", ...")" identifier (argument_list "(LOG_VERBOSE,", ...")" ( identifier , (string_literal "", ..."" " string_content ") ))) ;) })) }))) (expression_statement "logputs(LOG_VERBOSE,"\n");" (call_expression "logputs(LOG_VERBOSE,"\n")" identifier (argument_list "(LOG_VERBOSE,"\n")" ( identifier , (string_literal ""\n"" " escape_sequence ") ))) ;) })) (if_statement "if (local_65 != '\0') {\n          if (host_name_addresses_map == (hash_table *)0x0) {\n            host_name_addresses_map = make_nocase_string_hash_table(0);\n          }\n          value->refcount = value->refcount + 1;\n          pcVar5 = xstrdup_lower(host);\n          hash_table_put(host_name_addresses_map,pcVar5,value);\n          if (opt.debug != false) {\n            debug_logprintf("Caching %s =>",host);\n            if (0 < value->count) {\n              iVar12 = 0;\n              do {\n                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }\n                piVar10 = __errno_location();\n                iVar12 = iVar12 + 1;\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                debug_logprintf(" %s",buf_6806);\n              } while (iVar12 < value->count);\n            }\nLAB_0002bc5a:\n            debug_logprintf("\n",host);\n          }\n        }" if (parenthesized_expression "(local_65 != '\0')" ( (binary_expression "local_65 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (host_name_addresses_map == (hash_table *)0x0) {\n            host_name_addresses_map = make_nocase_string_hash_table(0);\n          }\n          value->refcount = value->refcount + 1;\n          pcVar5 = xstrdup_lower(host);\n          hash_table_put(host_name_addresses_map,pcVar5,value);\n          if (opt.debug != false) {\n            debug_logprintf("Caching %s =>",host);\n            if (0 < value->count) {\n              iVar12 = 0;\n              do {\n                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }\n                piVar10 = __errno_location();\n                iVar12 = iVar12 + 1;\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                debug_logprintf(" %s",buf_6806);\n              } while (iVar12 < value->count);\n            }\nLAB_0002bc5a:\n            debug_logprintf("\n",host);\n          }\n        }" { (if_statement "if (host_name_addresses_map == (hash_table *)0x0) {\n            host_name_addresses_map = make_nocase_string_hash_table(0);\n          }" if (parenthesized_expression "(host_name_addresses_map == (hash_table *)0x0)" ( (binary_expression "host_name_addresses_map == (hash_table *)0x0" identifier == (cast_expression "(hash_table *)0x0" ( (type_descriptor "hash_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            host_name_addresses_map = make_nocase_string_hash_table(0);\n          }" { (expression_statement "host_name_addresses_map = make_nocase_string_hash_table(0);" (assignment_expression "host_name_addresses_map = make_nocase_string_hash_table(0)" identifier = (call_expression "make_nocase_string_hash_table(0)" identifier (argument_list "(0)" ( number_literal )))) ;) })) (expression_statement "value->refcount = value->refcount + 1;" (assignment_expression "value->refcount = value->refcount + 1" (field_expression "value->refcount" identifier -> field_identifier) = (binary_expression "value->refcount + 1" (field_expression "value->refcount" identifier -> field_identifier) + number_literal)) ;) (expression_statement "pcVar5 = xstrdup_lower(host);" (assignment_expression "pcVar5 = xstrdup_lower(host)" identifier = (call_expression "xstrdup_lower(host)" identifier (argument_list "(host)" ( identifier )))) ;) (expression_statement "hash_table_put(host_name_addresses_map,pcVar5,value);" (call_expression "hash_table_put(host_name_addresses_map,pcVar5,value)" identifier (argument_list "(host_name_addresses_map,pcVar5,value)" ( identifier , identifier , identifier ))) ;) (if_statement "if (opt.debug != false) {\n            debug_logprintf("Caching %s =>",host);\n            if (0 < value->count) {\n              iVar12 = 0;\n              do {\n                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }\n                piVar10 = __errno_location();\n                iVar12 = iVar12 + 1;\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                debug_logprintf(" %s",buf_6806);\n              } while (iVar12 < value->count);\n            }\nLAB_0002bc5a:\n            debug_logprintf("\n",host);\n          }" if (parenthesized_expression "(opt.debug != false)" ( (binary_expression "opt.debug != false" (field_expression "opt.debug" identifier . field_identifier) != false) )) (compound_statement "{\n            debug_logprintf("Caching %s =>",host);\n            if (0 < value->count) {\n              iVar12 = 0;\n              do {\n                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }\n                piVar10 = __errno_location();\n                iVar12 = iVar12 + 1;\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                debug_logprintf(" %s",buf_6806);\n              } while (iVar12 < value->count);\n            }\nLAB_0002bc5a:\n            debug_logprintf("\n",host);\n          }" { (expression_statement "debug_logprintf("Caching %s =>",host);" (call_expression "debug_logprintf("Caching %s =>",host)" identifier (argument_list "("Caching %s =>",host)" ( (string_literal ""Caching %s =>"" " string_content ") , identifier ))) ;) (if_statement "if (0 < value->count) {\n              iVar12 = 0;\n              do {\n                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }\n                piVar10 = __errno_location();\n                iVar12 = iVar12 + 1;\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                debug_logprintf(" %s",buf_6806);\n              } while (iVar12 < value->count);\n            }" if (parenthesized_expression "(0 < value->count)" ( (binary_expression "0 < value->count" number_literal < (field_expression "value->count" identifier -> field_identifier)) )) (compound_statement "{\n              iVar12 = 0;\n              do {\n                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }\n                piVar10 = __errno_location();\n                iVar12 = iVar12 + 1;\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                debug_logprintf(" %s",buf_6806);\n              } while (iVar12 < value->count);\n            }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }\n                piVar10 = __errno_location();\n                iVar12 = iVar12 + 1;\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                debug_logprintf(" %s",buf_6806);\n              } while (iVar12 < value->count);" do (compound_statement "{\n                while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }\n                piVar10 = __errno_location();\n                iVar12 = iVar12 + 1;\n                pcVar5 = rpl_strerror(*piVar10);\n                __snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);\n                debug_logprintf(" %s",buf_6806);\n              }" { (while_statement "while (pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0) {\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }" while (parenthesized_expression "(pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0)" ( (comma_expression "pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40),\n                      host = buf_6806, pcVar5 != (char *)0x0" (assignment_expression "pcVar5 = inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40)" identifier = (call_expression "inet_ntop(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40)" identifier (argument_list "(value->addresses[iVar12].family,\n                                          &value->addresses[iVar12].data,buf_6806,0x40)" ( (field_expression "value->addresses[iVar12].family" (subscript_expression "value->addresses[iVar12]" (field_expression "value->addresses" identifier -> field_identifier) [ identifier ]) . field_identifier) , (pointer_expression "&value->addresses[iVar12].data" & (field_expression "value->addresses[iVar12].data" (subscript_expression "value->addresses[iVar12]" (field_expression "value->addresses" identifier -> field_identifier) [ identifier ]) . field_identifier)) , identifier , number_literal )))) , (comma_expression "host = buf_6806, pcVar5 != (char *)0x0" (assignment_expression "host = buf_6806" identifier = identifier) , (binary_expression "pcVar5 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)))) )) (compound_statement "{\n                  iVar12 = iVar12 + 1;\n                  debug_logprintf(" %s",buf_6806);\n                  if (value->count <= iVar12) goto LAB_0002bc5a;\n                }" { (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "debug_logprintf(" %s",buf_6806);" (call_expression "debug_logprintf(" %s",buf_6806)" identifier (argument_list "(" %s",buf_6806)" ( (string_literal "" %s"" " string_content ") , identifier ))) ;) (if_statement "if (value->count <= iVar12) goto LAB_0002bc5a;" if (parenthesized_expression "(value->count <= iVar12)" ( (binary_expression "value->count <= iVar12" (field_expression "value->count" identifier -> field_identifier) <= identifier) )) (goto_statement "goto LAB_0002bc5a;" goto statement_identifier ;)) })) (expression_statement "piVar10 = __errno_location();" (assignment_expression "piVar10 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "pcVar5 = rpl_strerror(*piVar10);" (assignment_expression "pcVar5 = rpl_strerror(*piVar10)" identifier = (call_expression "rpl_strerror(*piVar10)" identifier (argument_list "(*piVar10)" ( (pointer_expression "*piVar10" * identifier) )))) ;) (expression_statement "__snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5);" (call_expression "__snprintf_chk(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5)" identifier (argument_list "(buf_6806,0x40,1,0x40,"<error: %s>",pcVar5)" ( identifier , number_literal , number_literal , number_literal , (string_literal ""<error: %s>"" " string_content ") , identifier ))) ;) (expression_statement "debug_logprintf(" %s",buf_6806);" (call_expression "debug_logprintf(" %s",buf_6806)" identifier (argument_list "(" %s",buf_6806)" ( (string_literal "" %s"" " string_content ") , identifier ))) ;) }) while (parenthesized_expression "(iVar12 < value->count)" ( (binary_expression "iVar12 < value->count" identifier < (field_expression "value->count" identifier -> field_identifier)) )) ;) })) (labeled_statement "LAB_0002bc5a:\n            debug_logprintf("\n",host);" statement_identifier : (expression_statement "debug_logprintf("\n",host);" (call_expression "debug_logprintf("\n",host)" identifier (argument_list "("\n",host)" ( (string_literal ""\n"" " escape_sequence ") , identifier ))) ;)) })) })) (goto_statement "goto LAB_0002bafc;" goto statement_identifier ;) })) (expression_statement "local_64 = uVar14;" (assignment_expression "local_64 = uVar14" identifier = identifier) ;) (if_statement "if (uVar14 == 0) goto LAB_0002bce8;" if (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0002bce8;" goto statement_identifier ;)) }) (else_clause "else if (uVar14 == 0) {\n      if (ctx.exit_code == -0xb) {\n        piVar10 = __errno_location();\n        iVar12 = *piVar10;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar5 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }" else (if_statement "if (uVar14 == 0) {\n      if (ctx.exit_code == -0xb) {\n        piVar10 = __errno_location();\n        iVar12 = *piVar10;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar5 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }" if (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) (compound_statement "{\n      if (ctx.exit_code == -0xb) {\n        piVar10 = __errno_location();\n        iVar12 = *piVar10;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar5 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }" { (if_statement "if (ctx.exit_code == -0xb) {\n        piVar10 = __errno_location();\n        iVar12 = *piVar10;\n        goto LAB_0002bcca;\n      }" if (parenthesized_expression "(ctx.exit_code == -0xb)" ( (binary_expression "ctx.exit_code == -0xb" (field_expression "ctx.exit_code" identifier . field_identifier) == number_literal) )) (compound_statement "{\n        piVar10 = __errno_location();\n        iVar12 = *piVar10;\n        goto LAB_0002bcca;\n      }" { (expression_statement "piVar10 = __errno_location();" (assignment_expression "piVar10 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar12 = *piVar10;" (assignment_expression "iVar12 = *piVar10" identifier = (pointer_expression "*piVar10" * identifier)) ;) (goto_statement "goto LAB_0002bcca;" goto statement_identifier ;) })) (labeled_statement "LAB_0002bce8:\n      pcVar5 = gai_strerror(local_64);" statement_identifier : (expression_statement "pcVar5 = gai_strerror(local_64);" (assignment_expression "pcVar5 = gai_strerror(local_64)" identifier = (call_expression "gai_strerror(local_64)" identifier (argument_list "(local_64)" ( identifier )))) ;)) (goto_statement "goto LAB_0002bcf9;" goto statement_identifier ;) })))) }))) (expression_statement "value = (address_list *)0x0;" (assignment_expression "value = (address_list *)0x0" identifier = (cast_expression "(address_list *)0x0" ( (type_descriptor "address_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0002bafc:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" statement_identifier : (if_statement "if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(iVar1 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return value;" return identifier ;) })))
(translation_unit "int * FUN_0002b620(char *param_1,uint param_2)\n\n{\n  sockaddr *psVar1;\n  char cVar2;\n  size_t sVar3;\n  char *pcVar4;\n  int iVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  void *pvVar13;\n  int iVar14;\n  code *pcVar15;\n  uint unaff_EBP;\n  addrinfo *paVar16;\n  char *pcVar17;\n  uint uVar18;\n  char *pcVar19;\n  addrinfo *paVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  int local_80;\n  undefined8 local_74;\n  char local_65;\n  uint local_64;\n  addrinfo *local_58;\n  char *local_54;\n  undefined4 local_50;\n  undefined4 *local_4c;\n  addrinfo **local_48;\n  uint local_44;\n  undefined4 local_40 [8];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2b629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_74 = DAT_000b6b60;\n  uVar18 = param_2 & 1;\n  sVar3 = strlen(param_1);\n  pcVar4 = param_1 + sVar3;\n  if (param_1 < pcVar4) {\n    iVar5 = 0;\n    bVar21 = false;\n    iVar14 = 0;\n    pcVar17 = param_1;\n    do {\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    } while (pcVar4 != pcVar19);\nLAB_0002b6f2:\n    if (iVar5 < 4) goto LAB_0002b710;\n    cVar2 = '\x01';\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }\n  else {\nLAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);\n    if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n  }\n  local_4c = local_40;\n  uVar6 = 0;\n  do {\n    *(undefined4 *)((int)local_4c + uVar6) = 0;\n    uVar6 = uVar6 + 4;\n  } while (uVar6 < 0x20);\n  local_40[2] = 1;\n  if (DAT_000b6c3a == '\0') {\n    if (DAT_000b6c3b != '\0') {\n      local_40[1] = 10;\n    }\n  }\n  else {\n    local_40[1] = 2;\n  }\n  uVar7 = 4;\n  if ((param_2 & 2) != 0) {\n    local_40[0] = 1;\n    uVar7 = 5;\n  }\n  if (cVar2 != '\0') {\n    local_74 = 0;\n    local_40[0] = uVar7;\n  }\n  local_50 = 0;\n  local_54 = param_1;\n  local_48 = &local_58;\n  cVar2 = FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54);\n  paVar20 = local_58;\n  if (cVar2 == '\0') {\n    local_64 = local_44;\n    if (local_44 == 0) {\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }\n  else {\n    piVar8 = __errno_location();\n    *piVar8 = 0x6e;\n    if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }\n  }\n  piVar8 = (int *)0x0;\nLAB_0002bafc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0007ad20();\n  }\n  return piVar8;\n}\n\n" (function_definition "int * FUN_0002b620(char *param_1,uint param_2)\n\n{\n  sockaddr *psVar1;\n  char cVar2;\n  size_t sVar3;\n  char *pcVar4;\n  int iVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  void *pvVar13;\n  int iVar14;\n  code *pcVar15;\n  uint unaff_EBP;\n  addrinfo *paVar16;\n  char *pcVar17;\n  uint uVar18;\n  char *pcVar19;\n  addrinfo *paVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  int local_80;\n  undefined8 local_74;\n  char local_65;\n  uint local_64;\n  addrinfo *local_58;\n  char *local_54;\n  undefined4 local_50;\n  undefined4 *local_4c;\n  addrinfo **local_48;\n  uint local_44;\n  undefined4 local_40 [8];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2b629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_74 = DAT_000b6b60;\n  uVar18 = param_2 & 1;\n  sVar3 = strlen(param_1);\n  pcVar4 = param_1 + sVar3;\n  if (param_1 < pcVar4) {\n    iVar5 = 0;\n    bVar21 = false;\n    iVar14 = 0;\n    pcVar17 = param_1;\n    do {\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    } while (pcVar4 != pcVar19);\nLAB_0002b6f2:\n    if (iVar5 < 4) goto LAB_0002b710;\n    cVar2 = '\x01';\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }\n  else {\nLAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);\n    if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n  }\n  local_4c = local_40;\n  uVar6 = 0;\n  do {\n    *(undefined4 *)((int)local_4c + uVar6) = 0;\n    uVar6 = uVar6 + 4;\n  } while (uVar6 < 0x20);\n  local_40[2] = 1;\n  if (DAT_000b6c3a == '\0') {\n    if (DAT_000b6c3b != '\0') {\n      local_40[1] = 10;\n    }\n  }\n  else {\n    local_40[1] = 2;\n  }\n  uVar7 = 4;\n  if ((param_2 & 2) != 0) {\n    local_40[0] = 1;\n    uVar7 = 5;\n  }\n  if (cVar2 != '\0') {\n    local_74 = 0;\n    local_40[0] = uVar7;\n  }\n  local_50 = 0;\n  local_54 = param_1;\n  local_48 = &local_58;\n  cVar2 = FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54);\n  paVar20 = local_58;\n  if (cVar2 == '\0') {\n    local_64 = local_44;\n    if (local_44 == 0) {\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }\n  else {\n    piVar8 = __errno_location();\n    *piVar8 = 0x6e;\n    if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }\n  }\n  piVar8 = (int *)0x0;\nLAB_0002bafc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0007ad20();\n  }\n  return piVar8;\n}" primitive_type (pointer_declarator "* FUN_0002b620(char *param_1,uint param_2)" * (function_declarator "FUN_0002b620(char *param_1,uint param_2)" identifier (parameter_list "(char *param_1,uint param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint param_2" type_identifier identifier) )))) (compound_statement "{\n  sockaddr *psVar1;\n  char cVar2;\n  size_t sVar3;\n  char *pcVar4;\n  int iVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  void *pvVar13;\n  int iVar14;\n  code *pcVar15;\n  uint unaff_EBP;\n  addrinfo *paVar16;\n  char *pcVar17;\n  uint uVar18;\n  char *pcVar19;\n  addrinfo *paVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  int local_80;\n  undefined8 local_74;\n  char local_65;\n  uint local_64;\n  addrinfo *local_58;\n  char *local_54;\n  undefined4 local_50;\n  undefined4 *local_4c;\n  addrinfo **local_48;\n  uint local_44;\n  undefined4 local_40 [8];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2b629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_74 = DAT_000b6b60;\n  uVar18 = param_2 & 1;\n  sVar3 = strlen(param_1);\n  pcVar4 = param_1 + sVar3;\n  if (param_1 < pcVar4) {\n    iVar5 = 0;\n    bVar21 = false;\n    iVar14 = 0;\n    pcVar17 = param_1;\n    do {\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    } while (pcVar4 != pcVar19);\nLAB_0002b6f2:\n    if (iVar5 < 4) goto LAB_0002b710;\n    cVar2 = '\x01';\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }\n  else {\nLAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);\n    if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n  }\n  local_4c = local_40;\n  uVar6 = 0;\n  do {\n    *(undefined4 *)((int)local_4c + uVar6) = 0;\n    uVar6 = uVar6 + 4;\n  } while (uVar6 < 0x20);\n  local_40[2] = 1;\n  if (DAT_000b6c3a == '\0') {\n    if (DAT_000b6c3b != '\0') {\n      local_40[1] = 10;\n    }\n  }\n  else {\n    local_40[1] = 2;\n  }\n  uVar7 = 4;\n  if ((param_2 & 2) != 0) {\n    local_40[0] = 1;\n    uVar7 = 5;\n  }\n  if (cVar2 != '\0') {\n    local_74 = 0;\n    local_40[0] = uVar7;\n  }\n  local_50 = 0;\n  local_54 = param_1;\n  local_48 = &local_58;\n  cVar2 = FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54);\n  paVar20 = local_58;\n  if (cVar2 == '\0') {\n    local_64 = local_44;\n    if (local_44 == 0) {\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }\n  else {\n    piVar8 = __errno_location();\n    *piVar8 = 0x6e;\n    if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }\n  }\n  piVar8 = (int *)0x0;\nLAB_0002bafc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0007ad20();\n  }\n  return piVar8;\n}" { (declaration "sockaddr *psVar1;" type_identifier (pointer_declarator "*psVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "void *pvVar13;" primitive_type (pointer_declarator "*pvVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "code *pcVar15;" type_identifier (pointer_declarator "*pcVar15" * identifier) ;) (declaration "uint unaff_EBP;" type_identifier identifier ;) (declaration "addrinfo *paVar16;" type_identifier (pointer_declarator "*paVar16" * identifier) ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "addrinfo *paVar20;" type_identifier (pointer_declarator "*paVar20" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "int local_80;" primitive_type identifier ;) (declaration "undefined8 local_74;" type_identifier identifier ;) (declaration "char local_65;" primitive_type identifier ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "addrinfo *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "char *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "addrinfo **local_48;" type_identifier (pointer_declarator "**local_48" * (pointer_declarator "*local_48" * identifier)) ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "undefined4 local_40 [8];" type_identifier (array_declarator "local_40 [8]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x2b629;" (assignment_expression "uStack_14 = 0x2b629" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_74 = DAT_000b6b60;" (assignment_expression "local_74 = DAT_000b6b60" identifier = identifier) ;) (expression_statement "uVar18 = param_2 & 1;" (assignment_expression "uVar18 = param_2 & 1" identifier = (binary_expression "param_2 & 1" identifier & number_literal)) ;) (expression_statement "sVar3 = strlen(param_1);" (assignment_expression "sVar3 = strlen(param_1)" identifier = (call_expression "strlen(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar4 = param_1 + sVar3;" (assignment_expression "pcVar4 = param_1 + sVar3" identifier = (binary_expression "param_1 + sVar3" identifier + identifier)) ;) (if_statement "if (param_1 < pcVar4) {\n    iVar5 = 0;\n    bVar21 = false;\n    iVar14 = 0;\n    pcVar17 = param_1;\n    do {\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    } while (pcVar4 != pcVar19);\nLAB_0002b6f2:\n    if (iVar5 < 4) goto LAB_0002b710;\n    cVar2 = '\x01';\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }\n  else {\nLAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);\n    if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n  }" if (parenthesized_expression "(param_1 < pcVar4)" ( (binary_expression "param_1 < pcVar4" identifier < identifier) )) (compound_statement "{\n    iVar5 = 0;\n    bVar21 = false;\n    iVar14 = 0;\n    pcVar17 = param_1;\n    do {\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    } while (pcVar4 != pcVar19);\nLAB_0002b6f2:\n    if (iVar5 < 4) goto LAB_0002b710;\n    cVar2 = '\x01';\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "pcVar17 = param_1;" (assignment_expression "pcVar17 = param_1" identifier = identifier) ;) (do_statement "do {\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    } while (pcVar4 != pcVar19);" do (compound_statement "{\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    }" { (while_statement "while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }" { (expression_statement "pcVar19 = pcVar17 + 1;" (assignment_expression "pcVar19 = pcVar17 + 1" identifier = (binary_expression "pcVar17 + 1" identifier + number_literal)) ;) (expression_statement "unaff_EBP = (int)*pcVar17 - 0x30;" (assignment_expression "unaff_EBP = (int)*pcVar17 - 0x30" identifier = (binary_expression "(int)*pcVar17 - 0x30" (cast_expression "(int)*pcVar17" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar17" * identifier)) - number_literal)) ;) (if_statement "if (unaff_EBP < 10) break;" if (parenthesized_expression "(unaff_EBP < 10)" ( (binary_expression "unaff_EBP < 10" identifier < number_literal) )) (break_statement "break;" break ;)) (expression_statement "bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);" (assignment_expression "bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4)" identifier = (cast_expression "(bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4)" ( (binary_expression "bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4" (binary_expression "bVar21 & *pcVar17 == 0x2e ^ 1U" (binary_expression "bVar21 & *pcVar17 == 0x2e" identifier & (binary_expression "*pcVar17 == 0x2e" (pointer_expression "*pcVar17" * identifier) == number_literal)) ^ number_literal) | (binary_expression "iVar5 == 4" identifier == number_literal)) )))) ;) (if_statement "if (bVar21) goto LAB_0002b710;" if (parenthesized_expression "(bVar21)" ( identifier )) (goto_statement "goto LAB_0002b710;" goto statement_identifier ;)) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "pcVar17 = pcVar19;" (assignment_expression "pcVar17 = pcVar19" identifier = identifier) ;) (if_statement "if (pcVar4 == pcVar19) goto LAB_0002b6f2;" if (parenthesized_expression "(pcVar4 == pcVar19)" ( (binary_expression "pcVar4 == pcVar19" identifier == identifier) )) (goto_statement "goto LAB_0002b6f2;" goto statement_identifier ;)) })) (expression_statement "iVar14 = unaff_EBP + iVar14 * 10;" (assignment_expression "iVar14 = unaff_EBP + iVar14 * 10" identifier = (binary_expression "unaff_EBP + iVar14 * 10" identifier + (binary_expression "iVar14 * 10" identifier * number_literal))) ;) (if_statement "if (0xff < iVar14) goto LAB_0002b710;" if (parenthesized_expression "(0xff < iVar14)" ( (binary_expression "0xff < iVar14" number_literal < identifier) )) (goto_statement "goto LAB_0002b710;" goto statement_identifier ;)) (if_statement "if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }" if (parenthesized_expression "(!bVar21)" ( (unary_expression "!bVar21" ! identifier) )) (compound_statement "{\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }" { (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (if_statement "if (4 < iVar5) goto LAB_0002b710;" if (parenthesized_expression "(4 < iVar5)" ( (binary_expression "4 < iVar5" number_literal < identifier) )) (goto_statement "goto LAB_0002b710;" goto statement_identifier ;)) (expression_statement "bVar21 = true;" (assignment_expression "bVar21 = true" identifier = true) ;) })) (expression_statement "pcVar17 = pcVar19;" (assignment_expression "pcVar17 = pcVar19" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar4 != pcVar19)" ( (binary_expression "pcVar4 != pcVar19" identifier != identifier) )) ;) (labeled_statement "LAB_0002b6f2:\n    if (iVar5 < 4) goto LAB_0002b710;" statement_identifier : (if_statement "if (iVar5 < 4) goto LAB_0002b710;" if (parenthesized_expression "(iVar5 < 4)" ( (binary_expression "iVar5 < 4" identifier < number_literal) )) (goto_statement "goto LAB_0002b710;" goto statement_identifier ;))) (expression_statement "cVar2 = '\x01';" (assignment_expression "cVar2 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_65 = '\0';" (assignment_expression "local_65 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_80._0_1_ = '\0';" (assignment_expression "local_80._0_1_ = '\0'" (field_expression "local_80._0_1_" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\nLAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);\n    if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n  }" else (compound_statement "{\nLAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);\n    if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n  }" { (labeled_statement "LAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);" statement_identifier : (expression_statement "cVar2 = FUN_0002b3f0(param_1,pcVar4);" (assignment_expression "cVar2 = FUN_0002b3f0(param_1,pcVar4)" identifier = (call_expression "FUN_0002b3f0(param_1,pcVar4)" identifier (argument_list "(param_1,pcVar4)" ( identifier , identifier )))) ;)) (if_statement "if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }" { (expression_statement "local_65 = DAT_000b6ac4;" (assignment_expression "local_65 = DAT_000b6ac4" identifier = identifier) ;) (if_statement "if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }" if (parenthesized_expression "((param_2 & 2) == 0)" ( (binary_expression "(param_2 & 2) == 0" (parenthesized_expression "(param_2 & 2)" ( (binary_expression "param_2 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }" { (if_statement "if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }" if (parenthesized_expression "(DAT_000b6ac4 != '\0')" ( (binary_expression "DAT_000b6ac4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }" { (if_statement "if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }" if (parenthesized_expression "((param_2 & 4) == 0)" ( (binary_expression "(param_2 & 4) == 0" (parenthesized_expression "(param_2 & 4)" ( (binary_expression "param_2 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }" { (if_statement "if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }" if (parenthesized_expression "((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0))" ( (binary_expression "(DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)" (parenthesized_expression "(DAT_000b14e0 != 0)" ( (binary_expression "DAT_000b14e0 != 0" identifier != number_literal) )) && (parenthesized_expression "(piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)" ( (comma_expression "piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0" (assignment_expression "piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1)" identifier = (cast_expression "(int *)FUN_0002a8d0(DAT_000b14e0,param_1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0002a8d0(DAT_000b14e0,param_1)" identifier (argument_list "(DAT_000b14e0,param_1)" ( identifier , identifier ))))) , (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }" { (if_statement "if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }" if (parenthesized_expression "(DAT_000b6b9b != '\0')" ( (binary_expression "DAT_000b6b9b != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }" { (expression_statement "FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);" (call_expression "FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8)" identifier (argument_list "("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8)" ( (string_literal ""Found %s in host_name_addresses_map (%p)\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) })) (expression_statement "piVar8[4] = piVar8[4] + 1;" (assignment_expression "piVar8[4] = piVar8[4] + 1" (subscript_expression "piVar8[4]" identifier [ number_literal ]) = (binary_expression "piVar8[4] + 1" (subscript_expression "piVar8[4]" identifier [ number_literal ]) + number_literal)) ;) (goto_statement "goto LAB_0002bafc;" goto statement_identifier ;) })) }) (else_clause "else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }" else (if_statement "if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }" if (parenthesized_expression "((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0))" ( (binary_expression "(DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)" (parenthesized_expression "(DAT_000b14e0 != 0)" ( (binary_expression "DAT_000b14e0 != 0" identifier != number_literal) )) && (parenthesized_expression "(pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)" ( (comma_expression "pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0" (assignment_expression "pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1)" identifier = (cast_expression "(void *)FUN_0002a8d0(DAT_000b14e0,param_1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0002a8d0(DAT_000b14e0,param_1)" identifier (argument_list "(DAT_000b14e0,param_1)" ( identifier , identifier ))))) , (binary_expression "pvVar13 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }" { (expression_statement "iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;" (assignment_expression "iVar14 = *(int *)((int)pvVar13 + 0x10) + -1" identifier = (binary_expression "*(int *)((int)pvVar13 + 0x10) + -1" (pointer_expression "*(int *)((int)pvVar13 + 0x10)" * (cast_expression "(int *)((int)pvVar13 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar13 + 0x10)" ( (binary_expression "(int)pvVar13 + 0x10" (cast_expression "(int)pvVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "bVar21 = DAT_000b6b9b == '\0';" (assignment_expression "bVar21 = DAT_000b6b9b == '\0'" identifier = (binary_expression "DAT_000b6b9b == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (expression_statement "*(int *)((int)pvVar13 + 0x10) = iVar14;" (assignment_expression "*(int *)((int)pvVar13 + 0x10) = iVar14" (pointer_expression "*(int *)((int)pvVar13 + 0x10)" * (cast_expression "(int *)((int)pvVar13 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar13 + 0x10)" ( (binary_expression "(int)pvVar13 + 0x10" (cast_expression "(int)pvVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }" if (parenthesized_expression "(bVar21)" ( identifier )) (compound_statement "{\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }" { (if_statement "if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }" if (parenthesized_expression "(iVar14 < 1)" ( (binary_expression "iVar14 < 1" identifier < number_literal) )) (compound_statement "{\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }" { (labeled_statement "LAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));" statement_identifier : (expression_statement "free(*(void **)((int)pvVar13 + 4));" (call_expression "free(*(void **)((int)pvVar13 + 4))" identifier (argument_list "(*(void **)((int)pvVar13 + 4))" ( (pointer_expression "*(void **)((int)pvVar13 + 4)" * (cast_expression "(void **)((int)pvVar13 + 4)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar13 + 4)" ( (binary_expression "(int)pvVar13 + 4" (cast_expression "(int)pvVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) (expression_statement "free(pvVar13);" (call_expression "free(pvVar13)" identifier (argument_list "(pvVar13)" ( identifier ))) ;) })) }) (else_clause "else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }" else (compound_statement "{\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }" { (expression_statement "FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);" (call_expression "FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14)" identifier (argument_list "("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14)" ( (string_literal ""Releasing 0x%0*lx (new refcount %d).\n"" " string_content escape_sequence ") , number_literal , identifier , identifier ))) ;) (if_statement "if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }" if (parenthesized_expression "(*(int *)((int)pvVar13 + 0x10) < 1)" ( (binary_expression "*(int *)((int)pvVar13 + 0x10) < 1" (pointer_expression "*(int *)((int)pvVar13 + 0x10)" * (cast_expression "(int *)((int)pvVar13 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar13 + 0x10)" ( (binary_expression "(int)pvVar13 + 0x10" (cast_expression "(int)pvVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < number_literal) )) (compound_statement "{\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }" { (if_statement "if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }" if (parenthesized_expression "(DAT_000b6b9b != '\0')" ( (binary_expression "DAT_000b6b9b != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }" { (expression_statement "FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);" (call_expression "FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP)" identifier (argument_list "("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP)" ( (string_literal ""Deleting unused 0x%0*lx.\n"" " string_content escape_sequence ") , number_literal , identifier , identifier ))) ;) })) (goto_statement "goto LAB_0002bed2;" goto statement_identifier ;) })) }))) (expression_statement "FUN_0002acb0(DAT_000b14e0,param_1);" (call_expression "FUN_0002acb0(DAT_000b14e0,param_1)" identifier (argument_list "(DAT_000b14e0,param_1)" ( identifier , identifier ))) ;) })))) })) }) (else_clause "else {\n        local_65 = '\0';\n      }" else (compound_statement "{\n        local_65 = '\0';\n      }" { (expression_statement "local_65 = '\0';" (assignment_expression "local_65 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }))) (expression_statement "local_80._0_1_ = (char)(~param_2 & 1);" (assignment_expression "local_80._0_1_ = (char)(~param_2 & 1)" (field_expression "local_80._0_1_" identifier . field_identifier) = (cast_expression "(char)(~param_2 & 1)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(~param_2 & 1)" ( (binary_expression "~param_2 & 1" (unary_expression "~param_2" ~ identifier) & number_literal) )))) ;) (if_statement "if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }" if (parenthesized_expression "((~param_2 & 1) == 0)" ( (binary_expression "(~param_2 & 1) == 0" (parenthesized_expression "(~param_2 & 1)" ( (binary_expression "~param_2 & 1" (unary_expression "~param_2" ~ identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        cVar2 = '\0';\n      }" { (expression_statement "cVar2 = '\0';" (assignment_expression "cVar2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }" else (compound_statement "{\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }" { (expression_statement "pcVar4 = param_1;" (assignment_expression "pcVar4 = param_1" identifier = identifier) ;) (if_statement "if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }" if (parenthesized_expression "((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0))" ( (binary_expression "(DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)" (parenthesized_expression "(DAT_000b6c42 == '\0')" ( (binary_expression "DAT_000b6c42 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)" ( (comma_expression "pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0" (assignment_expression "pvVar13 = (void *)FUN_000557a0(param_1)" identifier = (cast_expression "(void *)FUN_000557a0(param_1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000557a0(param_1)" identifier (argument_list "(param_1)" ( identifier ))))) , (binary_expression "pvVar13 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          pcVar17 = (char *)0x0;\n        }" { (expression_statement "pcVar17 = (char *)0x0;" (assignment_expression "pcVar17 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }" else (compound_statement "{\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }" { (expression_statement "pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);" (assignment_expression "pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1)" identifier = (cast_expression "(char *)FUN_0004fa20("%s (%s)",pvVar13,param_1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0004fa20("%s (%s)",pvVar13,param_1)" identifier (argument_list "("%s (%s)",pvVar13,param_1)" ( (string_literal ""%s (%s)"" " string_content ") , identifier , identifier ))))) ;) (expression_statement "free(pvVar13);" (call_expression "free(pvVar13)" identifier (argument_list "(pvVar13)" ( identifier ))) ;) (if_statement "if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }" if (parenthesized_expression "(pcVar17 != (char *)0x0)" ( (binary_expression "pcVar17 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar4 = pcVar17;\n          }" { (expression_statement "pcVar4 = pcVar17;" (assignment_expression "pcVar4 = pcVar17" identifier = identifier) ;) })) }))) (expression_statement "uVar7 = FUN_00061a80(7,pcVar4);" (assignment_expression "uVar7 = FUN_00061a80(7,pcVar4)" identifier = (call_expression "FUN_00061a80(7,pcVar4)" identifier (argument_list "(7,pcVar4)" ( number_literal , identifier )))) ;) (expression_statement "uVar12 = dcgettext(0,"Resolving %s... ",5);" (assignment_expression "uVar12 = dcgettext(0,"Resolving %s... ",5)" identifier = (call_expression "dcgettext(0,"Resolving %s... ",5)" identifier (argument_list "(0,"Resolving %s... ",5)" ( number_literal , (string_literal ""Resolving %s... "" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0003df30(0,uVar12,uVar7);" (call_expression "FUN_0003df30(0,uVar12,uVar7)" identifier (argument_list "(0,uVar12,uVar7)" ( number_literal , identifier , identifier ))) ;) (expression_statement "free(pcVar17);" (call_expression "free(pcVar17)" identifier (argument_list "(pcVar17)" ( identifier ))) ;) }))) }) (else_clause "else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }" else (compound_statement "{\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }" { (expression_statement "local_65 = '\0';" (assignment_expression "local_65 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_80._0_1_ = '\0';" (assignment_expression "local_80._0_1_ = '\0'" (field_expression "local_80._0_1_" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) }))) }))) (expression_statement "local_4c = local_40;" (assignment_expression "local_4c = local_40" identifier = identifier) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)((int)local_4c + uVar6) = 0;\n    uVar6 = uVar6 + 4;\n  } while (uVar6 < 0x20);" do (compound_statement "{\n    *(undefined4 *)((int)local_4c + uVar6) = 0;\n    uVar6 = uVar6 + 4;\n  }" { (expression_statement "*(undefined4 *)((int)local_4c + uVar6) = 0;" (assignment_expression "*(undefined4 *)((int)local_4c + uVar6) = 0" (pointer_expression "*(undefined4 *)((int)local_4c + uVar6)" * (cast_expression "(undefined4 *)((int)local_4c + uVar6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_4c + uVar6)" ( (binary_expression "(int)local_4c + uVar6" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "uVar6 = uVar6 + 4;" (assignment_expression "uVar6 = uVar6 + 4" identifier = (binary_expression "uVar6 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar6 < 0x20)" ( (binary_expression "uVar6 < 0x20" identifier < number_literal) )) ;) (expression_statement "local_40[2] = 1;" (assignment_expression "local_40[2] = 1" (subscript_expression "local_40[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (DAT_000b6c3a == '\0') {\n    if (DAT_000b6c3b != '\0') {\n      local_40[1] = 10;\n    }\n  }\n  else {\n    local_40[1] = 2;\n  }" if (parenthesized_expression "(DAT_000b6c3a == '\0')" ( (binary_expression "DAT_000b6c3a == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (DAT_000b6c3b != '\0') {\n      local_40[1] = 10;\n    }\n  }" { (if_statement "if (DAT_000b6c3b != '\0') {\n      local_40[1] = 10;\n    }" if (parenthesized_expression "(DAT_000b6c3b != '\0')" ( (binary_expression "DAT_000b6c3b != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_40[1] = 10;\n    }" { (expression_statement "local_40[1] = 10;" (assignment_expression "local_40[1] = 10" (subscript_expression "local_40[1]" identifier [ number_literal ]) = number_literal) ;) })) }) (else_clause "else {\n    local_40[1] = 2;\n  }" else (compound_statement "{\n    local_40[1] = 2;\n  }" { (expression_statement "local_40[1] = 2;" (assignment_expression "local_40[1] = 2" (subscript_expression "local_40[1]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "uVar7 = 4;" (assignment_expression "uVar7 = 4" identifier = number_literal) ;) (if_statement "if ((param_2 & 2) != 0) {\n    local_40[0] = 1;\n    uVar7 = 5;\n  }" if (parenthesized_expression "((param_2 & 2) != 0)" ( (binary_expression "(param_2 & 2) != 0" (parenthesized_expression "(param_2 & 2)" ( (binary_expression "param_2 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    local_40[0] = 1;\n    uVar7 = 5;\n  }" { (expression_statement "local_40[0] = 1;" (assignment_expression "local_40[0] = 1" (subscript_expression "local_40[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = 5;" (assignment_expression "uVar7 = 5" identifier = number_literal) ;) })) (if_statement "if (cVar2 != '\0') {\n    local_74 = 0;\n    local_40[0] = uVar7;\n  }" if (parenthesized_expression "(cVar2 != '\0')" ( (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_74 = 0;\n    local_40[0] = uVar7;\n  }" { (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_40[0] = uVar7;" (assignment_expression "local_40[0] = uVar7" (subscript_expression "local_40[0]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_54 = param_1;" (assignment_expression "local_54 = param_1" identifier = identifier) ;) (expression_statement "local_48 = &local_58;" (assignment_expression "local_48 = &local_58" identifier = (pointer_expression "&local_58" & identifier)) ;) (expression_statement "cVar2 = FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54);" (assignment_expression "cVar2 = FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54)" identifier = (call_expression "FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54)" identifier (argument_list "((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54)" ( (cast_expression "(undefined4)local_74" ( (type_descriptor "undefined4" type_identifier) ) identifier) , (field_expression "local_74._4_4_" identifier . field_identifier) , identifier , (pointer_expression "&local_54" & identifier) )))) ;) (expression_statement "paVar20 = local_58;" (assignment_expression "paVar20 = local_58" identifier = identifier) ;) (if_statement "if (cVar2 == '\0') {\n    local_64 = local_44;\n    if (local_44 == 0) {\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }\n  else {\n    piVar8 = __errno_location();\n    *piVar8 = 0x6e;\n    if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }\n  }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_64 = local_44;\n    if (local_44 == 0) {\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }" { (expression_statement "local_64 = local_44;" (assignment_expression "local_64 = local_44" identifier = identifier) ;) (if_statement "if (local_44 == 0) {\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }" if (parenthesized_expression "(local_44 == 0)" ( (binary_expression "local_44 == 0" identifier == number_literal) )) (compound_statement "{\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }" { (if_statement "if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }" if (parenthesized_expression "(local_58 != (addrinfo *)0x0)" ( (binary_expression "local_58 != (addrinfo *)0x0" identifier != (cast_expression "(addrinfo *)0x0" ( (type_descriptor "addrinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "paVar16 = local_58;" (assignment_expression "paVar16 = local_58" identifier = identifier) ;) (do_statement "do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);" do (compound_statement "{\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        }" { (expression_statement "piVar8 = &paVar16->ai_family;" (assignment_expression "piVar8 = &paVar16->ai_family" identifier = (pointer_expression "&paVar16->ai_family" & (field_expression "paVar16->ai_family" identifier -> field_identifier))) ;) (expression_statement "paVar16 = paVar16->ai_next;" (assignment_expression "paVar16 = paVar16->ai_next" identifier = (field_expression "paVar16->ai_next" identifier -> field_identifier)) ;) (expression_statement "iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);" (assignment_expression "iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2)" identifier = (binary_expression "iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2)" identifier + (call_expression "(uint)((*piVar8 & 0xfffffff7U) == 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*piVar8 & 0xfffffff7U) == 2)" ( (binary_expression "(*piVar8 & 0xfffffff7U) == 2" (parenthesized_expression "(*piVar8 & 0xfffffff7U)" ( (binary_expression "*piVar8 & 0xfffffff7U" (pointer_expression "*piVar8" * identifier) & number_literal) )) == number_literal) ))))) ;) }) while (parenthesized_expression "(paVar16 != (addrinfo *)0x0)" ( (binary_expression "paVar16 != (addrinfo *)0x0" identifier != (cast_expression "(addrinfo *)0x0" ( (type_descriptor "addrinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }" { (expression_statement "freeaddrinfo(local_58);" (call_expression "freeaddrinfo(local_58)" identifier (argument_list "(local_58)" ( identifier ))) ;) (expression_statement "uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);" (assignment_expression "uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5)" identifier = (call_expression "dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5)" identifier (argument_list "(0,"failed: No IPv4/IPv6 addresses for host.\n",5)" ( number_literal , (string_literal ""failed: No IPv4/IPv6 addresses for host.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0003df30(0,uVar7);" (call_expression "FUN_0003df30(0,uVar7)" identifier (argument_list "(0,uVar7)" ( number_literal , identifier ))) ;) (expression_statement "piVar8 = (int *)0x0;" (assignment_expression "piVar8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0002bafc;" goto statement_identifier ;) })) (expression_statement "piVar8 = (int *)FUN_00062f90(1,0x14);" (assignment_expression "piVar8 = (int *)FUN_00062f90(1,0x14)" identifier = (cast_expression "(int *)FUN_00062f90(1,0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062f90(1,0x14)" identifier (argument_list "(1,0x14)" ( number_literal , number_literal ))))) ;) (expression_statement "puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);" (assignment_expression "puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18)" identifier = (cast_expression "(undefined4 *)FUN_00062e50(iVar14 * 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062e50(iVar14 * 0x18)" identifier (argument_list "(iVar14 * 0x18)" ( (binary_expression "iVar14 * 0x18" identifier * number_literal) ))))) ;) (expression_statement "*piVar8 = iVar14;" (assignment_expression "*piVar8 = iVar14" (pointer_expression "*piVar8" * identifier) = identifier) ;) (expression_statement "piVar8[1] = (int)puVar9;" (assignment_expression "piVar8[1] = (int)puVar9" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar8[4] = 1;" (assignment_expression "piVar8[4] = 1" (subscript_expression "piVar8[4]" identifier [ number_literal ]) = number_literal) ;) (do_statement "do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);" do (compound_statement "{\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        }" { (while_statement "while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }" while (parenthesized_expression "(paVar20->ai_family != 10)" ( (binary_expression "paVar20->ai_family != 10" (field_expression "paVar20->ai_family" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }" { (expression_statement "puVar10 = puVar9;" (assignment_expression "puVar10 = puVar9" identifier = identifier) ;) (if_statement "if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }" if (parenthesized_expression "(paVar20->ai_family == 2)" ( (binary_expression "paVar20->ai_family == 2" (field_expression "paVar20->ai_family" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }" { (expression_statement "psVar1 = paVar20->ai_addr;" (assignment_expression "psVar1 = paVar20->ai_addr" identifier = (field_expression "paVar20->ai_addr" identifier -> field_identifier)) ;) (expression_statement "puVar10 = puVar9 + 6;" (assignment_expression "puVar10 = puVar9 + 6" identifier = (binary_expression "puVar9 + 6" identifier + number_literal)) ;) (expression_statement "*puVar9 = 2;" (assignment_expression "*puVar9 = 2" (pointer_expression "*puVar9" * identifier) = number_literal) ;) (expression_statement "puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);" (assignment_expression "puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2)" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(psVar1->sa_data + 2)" * (cast_expression "(undefined4 *)(psVar1->sa_data + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar1->sa_data + 2)" ( (binary_expression "psVar1->sa_data + 2" (field_expression "psVar1->sa_data" identifier -> field_identifier) + number_literal) ))))) ;) })) (expression_statement "paVar20 = paVar20->ai_next;" (assignment_expression "paVar20 = paVar20->ai_next" identifier = (field_expression "paVar20->ai_next" identifier -> field_identifier)) ;) (expression_statement "puVar9 = puVar10;" (assignment_expression "puVar9 = puVar10" identifier = identifier) ;) (if_statement "if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;" if (parenthesized_expression "(paVar20 == (addrinfo *)0x0)" ( (binary_expression "paVar20 == (addrinfo *)0x0" identifier == (cast_expression "(addrinfo *)0x0" ( (type_descriptor "addrinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0002b8a8;" goto statement_identifier ;)) })) (expression_statement "psVar1 = paVar20->ai_addr;" (assignment_expression "psVar1 = paVar20->ai_addr" identifier = (field_expression "paVar20->ai_addr" identifier -> field_identifier)) ;) (expression_statement "paVar20 = paVar20->ai_next;" (assignment_expression "paVar20 = paVar20->ai_next" identifier = (field_expression "paVar20->ai_next" identifier -> field_identifier)) ;) (expression_statement "*puVar9 = 10;" (assignment_expression "*puVar9 = 10" (pointer_expression "*puVar9" * identifier) = number_literal) ;) (expression_statement "puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);" (assignment_expression "puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6)" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(psVar1->sa_data + 6)" * (cast_expression "(undefined4 *)(psVar1->sa_data + 6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar1->sa_data + 6)" ( (binary_expression "psVar1->sa_data + 6" (field_expression "psVar1->sa_data" identifier -> field_identifier) + number_literal) ))))) ;) (expression_statement "puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);" (assignment_expression "puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10)" (subscript_expression "puVar9[2]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(psVar1->sa_data + 10)" * (cast_expression "(undefined4 *)(psVar1->sa_data + 10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar1->sa_data + 10)" ( (binary_expression "psVar1->sa_data + 10" (field_expression "psVar1->sa_data" identifier -> field_identifier) + number_literal) ))))) ;) (expression_statement "puVar9[3] = *(undefined4 *)(psVar1 + 1);" (assignment_expression "puVar9[3] = *(undefined4 *)(psVar1 + 1)" (subscript_expression "puVar9[3]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(psVar1 + 1)" * (cast_expression "(undefined4 *)(psVar1 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar1 + 1)" ( (binary_expression "psVar1 + 1" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);" (assignment_expression "uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6)" identifier = (pointer_expression "*(undefined4 *)(psVar1[1].sa_data + 6)" * (cast_expression "(undefined4 *)(psVar1[1].sa_data + 6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar1[1].sa_data + 6)" ( (binary_expression "psVar1[1].sa_data + 6" (field_expression "psVar1[1].sa_data" (subscript_expression "psVar1[1]" identifier [ number_literal ]) . field_identifier) + number_literal) ))))) ;) (expression_statement "puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);" (assignment_expression "puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2)" (subscript_expression "puVar9[4]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(psVar1[1].sa_data + 2)" * (cast_expression "(undefined4 *)(psVar1[1].sa_data + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar1[1].sa_data + 2)" ( (binary_expression "psVar1[1].sa_data + 2" (field_expression "psVar1[1].sa_data" (subscript_expression "psVar1[1]" identifier [ number_literal ]) . field_identifier) + number_literal) ))))) ;) (expression_statement "puVar9[5] = uVar7;" (assignment_expression "puVar9[5] = uVar7" (subscript_expression "puVar9[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9 = puVar9 + 6;" (assignment_expression "puVar9 = puVar9 + 6" identifier = (binary_expression "puVar9 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(paVar20 != (addrinfo *)0x0)" ( (binary_expression "paVar20 != (addrinfo *)0x0" identifier != (cast_expression "(addrinfo *)0x0" ( (type_descriptor "addrinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_0002b8a8:\n        freeaddrinfo(local_58);" statement_identifier : (expression_statement "freeaddrinfo(local_58);" (call_expression "freeaddrinfo(local_58)" identifier (argument_list "(local_58)" ( identifier ))) ;)) (if_statement "if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }" if (parenthesized_expression "((1 < *piVar8) && (DAT_000b6c3c != 2))" ( (binary_expression "(1 < *piVar8) && (DAT_000b6c3c != 2)" (parenthesized_expression "(1 < *piVar8)" ( (binary_expression "1 < *piVar8" number_literal < (pointer_expression "*piVar8" * identifier)) )) && (parenthesized_expression "(DAT_000b6c3c != 2)" ( (binary_expression "DAT_000b6c3c != 2" identifier != number_literal) ))) )) (compound_statement "{\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }" { (expression_statement "pcVar15 = FUN_0002b0d0;" (assignment_expression "pcVar15 = FUN_0002b0d0" identifier = identifier) ;) (if_statement "if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }" if (parenthesized_expression "(DAT_000b6c3c != 0)" ( (binary_expression "DAT_000b6c3c != 0" identifier != number_literal) )) (compound_statement "{\n            pcVar15 = FUN_0002b0f0;\n          }" { (expression_statement "pcVar15 = FUN_0002b0f0;" (assignment_expression "pcVar15 = FUN_0002b0f0" identifier = identifier) ;) })) (expression_statement "FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);" (call_expression "FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15)" identifier (argument_list "(piVar8[1],*piVar8,0x18,pcVar15)" ( (subscript_expression "piVar8[1]" identifier [ number_literal ]) , (pointer_expression "*piVar8" * identifier) , number_literal , identifier ))) ;) })) (if_statement "if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }" if (parenthesized_expression "((char)local_80 != '\0')" ( (binary_expression "(char)local_80 != '\0'" (cast_expression "(char)local_80" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }" { (expression_statement "local_80 = *piVar8;" (assignment_expression "local_80 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (if_statement "if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }" if (parenthesized_expression "((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4))" ( (binary_expression "(DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)" (parenthesized_expression "(DAT_000b6c4d._1_1_ == '\x01')" ( (binary_expression "DAT_000b6c4d._1_1_ == '\x01'" (field_expression "DAT_000b6c4d._1_1_" identifier . field_identifier) == (char_literal "'\x01'" ' escape_sequence ')) )) || (parenthesized_expression "(local_80 < 4)" ( (binary_expression "local_80 < 4" identifier < number_literal) ))) )) (compound_statement "{\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }" { (if_statement "if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }" if (parenthesized_expression "(0 < local_80)" ( (binary_expression "0 < local_80" number_literal < identifier) )) (compound_statement "{\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }" { (expression_statement "iVar14 = local_80 + -1;" (assignment_expression "iVar14 = local_80 + -1" identifier = (binary_expression "local_80 + -1" identifier + number_literal)) ;) (if_statement "if (0 < iVar14) goto LAB_0002b927;" if (parenthesized_expression "(0 < iVar14)" ( (binary_expression "0 < iVar14" number_literal < identifier) )) (goto_statement "goto LAB_0002b927;" goto statement_identifier ;)) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0002bb53;" goto statement_identifier ;) })) }) (else_clause "else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }" else (compound_statement "{\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }" { (expression_statement "local_80 = 3;" (assignment_expression "local_80 = 3" identifier = number_literal) ;) (expression_statement "iVar14 = 2;" (assignment_expression "iVar14 = 2" identifier = number_literal) ;) (labeled_statement "LAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }" statement_identifier : (if_statement "if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }" if (parenthesized_expression "(local_80 < iVar14)" ( (binary_expression "local_80 < iVar14" identifier < identifier) )) (compound_statement "{\n              iVar14 = local_80;\n            }" { (expression_statement "iVar14 = local_80;" (assignment_expression "iVar14 = local_80" identifier = identifier) ;) }))) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);" do (compound_statement "{\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            }" { (expression_statement "piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);" (assignment_expression "piVar11 = (int *)(piVar8[1] + iVar5 * 0x18)" identifier = (cast_expression "(int *)(piVar8[1] + iVar5 * 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8[1] + iVar5 * 0x18)" ( (binary_expression "piVar8[1] + iVar5 * 0x18" (subscript_expression "piVar8[1]" identifier [ number_literal ]) + (binary_expression "iVar5 * 0x18" identifier * number_literal)) )))) ;) (expression_statement "pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);" (assignment_expression "pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" identifier = (call_expression "inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" identifier (argument_list "(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" ( (pointer_expression "*piVar11" * identifier) , (binary_expression "piVar11 + 1" identifier + number_literal) , (pointer_expression "&DAT_000b14a0" & identifier) , number_literal )))) ;) (if_statement "if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }" if (parenthesized_expression "(pcVar4 == (char *)0x0)" ( (binary_expression "pcVar4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }" { (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar7 = FUN_0007a3a0(*piVar11);" (assignment_expression "uVar7 = FUN_0007a3a0(*piVar11)" identifier = (call_expression "FUN_0007a3a0(*piVar11)" identifier (argument_list "(*piVar11)" ( (pointer_expression "*piVar11" * identifier) )))) ;) (expression_statement "__snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);" (call_expression "__snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7)" identifier (argument_list "(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7)" ( (pointer_expression "&DAT_000b14a0" & identifier) , number_literal , number_literal , number_literal , (string_literal ""<error: %s>"" " string_content ") , identifier ))) ;) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0003daf0(0,&DAT_000b14a0);" (call_expression "FUN_0003daf0(0,&DAT_000b14a0)" identifier (argument_list "(0,&DAT_000b14a0)" ( number_literal , (pointer_expression "&DAT_000b14a0" & identifier) ))) ;) (expression_statement "FUN_0003daf0(0,&DAT_000862b1);" (call_expression "FUN_0003daf0(0,&DAT_000862b1)" identifier (argument_list "(0,&DAT_000862b1)" ( number_literal , (pointer_expression "&DAT_000862b1" & identifier) ))) ;) }) while (parenthesized_expression "(iVar5 < iVar14)" ( (binary_expression "iVar5 < iVar14" identifier < identifier) )) ;) (if_statement "if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }" if (parenthesized_expression "(iVar5 < local_80)" ( (binary_expression "iVar5 < local_80" identifier < identifier) )) (compound_statement "{\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }" { (labeled_statement "LAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);" statement_identifier : (do_statement "do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);" do (compound_statement "{\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              }" { (expression_statement "piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);" (assignment_expression "piVar11 = (int *)(piVar8[1] + iVar5 * 0x18)" identifier = (cast_expression "(int *)(piVar8[1] + iVar5 * 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8[1] + iVar5 * 0x18)" ( (binary_expression "piVar8[1] + iVar5 * 0x18" (subscript_expression "piVar8[1]" identifier [ number_literal ]) + (binary_expression "iVar5 * 0x18" identifier * number_literal)) )))) ;) (expression_statement "pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);" (assignment_expression "pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" identifier = (call_expression "inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" identifier (argument_list "(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" ( (pointer_expression "*piVar11" * identifier) , (binary_expression "piVar11 + 1" identifier + number_literal) , (pointer_expression "&DAT_000b14a0" & identifier) , number_literal )))) ;) (if_statement "if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }" if (parenthesized_expression "(pcVar4 == (char *)0x0)" ( (binary_expression "pcVar4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }" { (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar7 = FUN_0007a3a0(*piVar11);" (assignment_expression "uVar7 = FUN_0007a3a0(*piVar11)" identifier = (call_expression "FUN_0007a3a0(*piVar11)" identifier (argument_list "(*piVar11)" ( (pointer_expression "*piVar11" * identifier) )))) ;) (expression_statement "__snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);" (call_expression "__snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7)" identifier (argument_list "(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7)" ( (pointer_expression "&DAT_000b14a0" & identifier) , number_literal , number_literal , number_literal , (string_literal ""<error: %s>"" " string_content ") , identifier ))) ;) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0003daf0(0,&DAT_000b14a0);" (call_expression "FUN_0003daf0(0,&DAT_000b14a0)" identifier (argument_list "(0,&DAT_000b14a0)" ( number_literal , (pointer_expression "&DAT_000b14a0" & identifier) ))) ;) }) while (parenthesized_expression "(iVar5 < local_80)" ( (binary_expression "iVar5 < local_80" identifier < identifier) )) ;)) })) (if_statement "if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }" if (parenthesized_expression "(*piVar8 != local_80)" ( (binary_expression "*piVar8 != local_80" (pointer_expression "*piVar8" * identifier) != identifier) )) (compound_statement "{\n              FUN_0003daf0(0,&DAT_000862b4);\n            }" { (expression_statement "FUN_0003daf0(0,&DAT_000862b4);" (call_expression "FUN_0003daf0(0,&DAT_000862b4)" identifier (argument_list "(0,&DAT_000862b4)" ( number_literal , (pointer_expression "&DAT_000862b4" & identifier) ))) ;) })) }))) (expression_statement "FUN_0003daf0(0,"\n");" (call_expression "FUN_0003daf0(0,"\n")" identifier (argument_list "(0,"\n")" ( number_literal , (string_literal ""\n"" " escape_sequence ") ))) ;) })) (if_statement "if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }" if (parenthesized_expression "(local_65 != '\0')" ( (binary_expression "local_65 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }" { (if_statement "if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }" if (parenthesized_expression "(DAT_000b14e0 == 0)" ( (binary_expression "DAT_000b14e0 == 0" identifier == number_literal) )) (compound_statement "{\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }" { (expression_statement "DAT_000b14e0 = FUN_0002aff0(0);" (assignment_expression "DAT_000b14e0 = FUN_0002aff0(0)" identifier = (call_expression "FUN_0002aff0(0)" identifier (argument_list "(0)" ( number_literal )))) ;) })) (expression_statement "piVar8[4] = piVar8[4] + 1;" (assignment_expression "piVar8[4] = piVar8[4] + 1" (subscript_expression "piVar8[4]" identifier [ number_literal ]) = (binary_expression "piVar8[4] + 1" (subscript_expression "piVar8[4]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "uVar7 = FUN_0004f740(param_1);" (assignment_expression "uVar7 = FUN_0004f740(param_1)" identifier = (call_expression "FUN_0004f740(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);" (call_expression "FUN_0002aa50(DAT_000b14e0,uVar7,piVar8)" identifier (argument_list "(DAT_000b14e0,uVar7,piVar8)" ( identifier , identifier , identifier ))) ;) (if_statement "if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }" if (parenthesized_expression "(DAT_000b6b9b != '\0')" ( (binary_expression "DAT_000b6b9b != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }" { (expression_statement "FUN_0003e2e0("Caching %s =>",param_1);" (call_expression "FUN_0003e2e0("Caching %s =>",param_1)" identifier (argument_list "("Caching %s =>",param_1)" ( (string_literal ""Caching %s =>"" " string_content ") , identifier ))) ;) (if_statement "if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }" if (parenthesized_expression "(0 < *piVar8)" ( (binary_expression "0 < *piVar8" number_literal < (pointer_expression "*piVar8" * identifier)) )) (compound_statement "{\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (do_statement "do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);" do (compound_statement "{\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              }" { (while_statement "while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }" while (parenthesized_expression "(piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0)" ( (comma_expression "piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0" (assignment_expression "piVar11 = (int *)(piVar8[1] + iVar14 * 0x18)" identifier = (cast_expression "(int *)(piVar8[1] + iVar14 * 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8[1] + iVar14 * 0x18)" ( (binary_expression "piVar8[1] + iVar14 * 0x18" (subscript_expression "piVar8[1]" identifier [ number_literal ]) + (binary_expression "iVar14 * 0x18" identifier * number_literal)) )))) , (comma_expression "pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0" (assignment_expression "pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" identifier = (call_expression "inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" identifier (argument_list "(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" ( (pointer_expression "*piVar11" * identifier) , (binary_expression "piVar11 + 1" identifier + number_literal) , (pointer_expression "&DAT_000b14a0" & identifier) , number_literal )))) , (comma_expression "param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0" (assignment_expression "param_1 = &DAT_000b14a0" identifier = (pointer_expression "&DAT_000b14a0" & identifier)) , (binary_expression "pcVar4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))))) )) (compound_statement "{\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }" { (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0003e2e0(" %s",&DAT_000b14a0);" (call_expression "FUN_0003e2e0(" %s",&DAT_000b14a0)" identifier (argument_list "(" %s",&DAT_000b14a0)" ( (string_literal "" %s"" " string_content ") , (pointer_expression "&DAT_000b14a0" & identifier) ))) ;) (if_statement "if (*piVar8 <= iVar14) goto LAB_0002bc5a;" if (parenthesized_expression "(*piVar8 <= iVar14)" ( (binary_expression "*piVar8 <= iVar14" (pointer_expression "*piVar8" * identifier) <= identifier) )) (goto_statement "goto LAB_0002bc5a;" goto statement_identifier ;)) })) (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = FUN_0007a3a0(*piVar11);" (assignment_expression "uVar7 = FUN_0007a3a0(*piVar11)" identifier = (call_expression "FUN_0007a3a0(*piVar11)" identifier (argument_list "(*piVar11)" ( (pointer_expression "*piVar11" * identifier) )))) ;) (expression_statement "__snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);" (call_expression "__snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7)" identifier (argument_list "(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7)" ( (pointer_expression "&DAT_000b14a0" & identifier) , number_literal , number_literal , number_literal , (string_literal ""<error: %s>"" " string_content ") , identifier ))) ;) (expression_statement "FUN_0003e2e0(" %s",&DAT_000b14a0);" (call_expression "FUN_0003e2e0(" %s",&DAT_000b14a0)" identifier (argument_list "(" %s",&DAT_000b14a0)" ( (string_literal "" %s"" " string_content ") , (pointer_expression "&DAT_000b14a0" & identifier) ))) ;) }) while (parenthesized_expression "(iVar14 < *piVar8)" ( (binary_expression "iVar14 < *piVar8" identifier < (pointer_expression "*piVar8" * identifier)) )) ;) })) (labeled_statement "LAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);" statement_identifier : (expression_statement "FUN_0003e2e0("\n",param_1);" (call_expression "FUN_0003e2e0("\n",param_1)" identifier (argument_list "("\n",param_1)" ( (string_literal ""\n"" " escape_sequence ") , identifier ))) ;)) })) })) (goto_statement "goto LAB_0002bafc;" goto statement_identifier ;) })) (expression_statement "local_64 = uVar18;" (assignment_expression "local_64 = uVar18" identifier = identifier) ;) (if_statement "if (uVar18 == 0) goto LAB_0002bce8;" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0002bce8;" goto statement_identifier ;)) }) (else_clause "else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }" else (if_statement "if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }" { (if_statement "if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }" if (parenthesized_expression "(local_44 == 0xfffffff5)" ( (binary_expression "local_44 == 0xfffffff5" identifier == number_literal) )) (compound_statement "{\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }" { (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar14 = *piVar8;" (assignment_expression "iVar14 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (goto_statement "goto LAB_0002bcca;" goto statement_identifier ;) })) (labeled_statement "LAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);" statement_identifier : (expression_statement "pcVar4 = gai_strerror(local_64);" (assignment_expression "pcVar4 = gai_strerror(local_64)" identifier = (call_expression "gai_strerror(local_64)" identifier (argument_list "(local_64)" ( identifier )))) ;)) (goto_statement "goto LAB_0002bcf9;" goto statement_identifier ;) })))) }) (else_clause "else {\n    piVar8 = __errno_location();\n    *piVar8 = 0x6e;\n    if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }\n  }" else (compound_statement "{\n    piVar8 = __errno_location();\n    *piVar8 = 0x6e;\n    if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }\n  }" { (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar8 = 0x6e;" (assignment_expression "*piVar8 = 0x6e" (pointer_expression "*piVar8" * identifier) = number_literal) ;) (if_statement "if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }" { (expression_statement "iVar14 = 0x6e;" (assignment_expression "iVar14 = 0x6e" identifier = number_literal) ;) (labeled_statement "LAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);" statement_identifier : (expression_statement "pcVar4 = (char *)FUN_0007a3a0(iVar14);" (assignment_expression "pcVar4 = (char *)FUN_0007a3a0(iVar14)" identifier = (cast_expression "(char *)FUN_0007a3a0(iVar14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0007a3a0(iVar14)" identifier (argument_list "(iVar14)" ( identifier ))))) ;)) (labeled_statement "LAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);" statement_identifier : (expression_statement "uVar7 = dcgettext(0,"failed: %s.\n",5);" (assignment_expression "uVar7 = dcgettext(0,"failed: %s.\n",5)" identifier = (call_expression "dcgettext(0,"failed: %s.\n",5)" identifier (argument_list "(0,"failed: %s.\n",5)" ( number_literal , (string_literal ""failed: %s.\n"" " string_content escape_sequence ") , number_literal )))) ;)) (expression_statement "FUN_0003df30(0,uVar7,pcVar4);" (call_expression "FUN_0003df30(0,uVar7,pcVar4)" identifier (argument_list "(0,uVar7,pcVar4)" ( number_literal , identifier , identifier ))) ;) })) }))) (expression_statement "piVar8 = (int *)0x0;" (assignment_expression "piVar8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0002bafc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0007ad20();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0007ad20();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    FUN_0007ad20();\n  }" { (expression_statement "FUN_0007ad20();" (call_expression "FUN_0007ad20()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return piVar8;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT & (binary_expression (pointer_expression * IDENT) == LIT)) ^ LIT) | (binary_expression IDENT == LIT)) )))) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (char_literal ' escape_sequence ')) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (char_literal ' escape_sequence '))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , LIT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , LIT , IDENT , IDENT ))) ;) })) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })))) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) }))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (unary_expression ~ IDENT) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ~ IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (char_literal ' escape_sequence ')) ;) }))) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < LIT) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (field_expression IDENT . field_identifier) , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT * LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (pointer_expression * IDENT)) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression * IDENT) , LIT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression IDENT < LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression & IDENT) ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression & IDENT) ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression & IDENT) ))) ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " escape_sequence ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) , (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) , LIT )))) , (comma_expression (assignment_expression IDENT = (pointer_expression & IDENT)) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , LIT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression & IDENT) ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * IDENT)) )) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence ") , IDENT ))) ;)) })) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (goto_statement goto statement_identifier ;) })))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT ))) ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "int * FUN_0002b620(char *param_1,uint param_2)\n\n{\n  sockaddr *psVar1;\n  char cVar2;\n  size_t sVar3;\n  char *pcVar4;\n  int iVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  void *pvVar13;\n  int iVar14;\n  code *pcVar15;\n  uint unaff_EBP;\n  addrinfo *paVar16;\n  char *pcVar17;\n  uint uVar18;\n  char *pcVar19;\n  addrinfo *paVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  int local_80;\n  undefined8 local_74;\n  char local_65;\n  uint local_64;\n  addrinfo *local_58;\n  char *local_54;\n  undefined4 local_50;\n  undefined4 *local_4c;\n  addrinfo **local_48;\n  uint local_44;\n  undefined4 local_40 [8];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2b629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_74 = DAT_000b6b60;\n  uVar18 = param_2 & 1;\n  sVar3 = strlen(param_1);\n  pcVar4 = param_1 + sVar3;\n  if (param_1 < pcVar4) {\n    iVar5 = 0;\n    bVar21 = false;\n    iVar14 = 0;\n    pcVar17 = param_1;\n    do {\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    } while (pcVar4 != pcVar19);\nLAB_0002b6f2:\n    if (iVar5 < 4) goto LAB_0002b710;\n    cVar2 = '\x01';\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }\n  else {\nLAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);\n    if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n  }\n  local_4c = local_40;\n  uVar6 = 0;\n  do {\n    *(undefined4 *)((int)local_4c + uVar6) = 0;\n    uVar6 = uVar6 + 4;\n  } while (uVar6 < 0x20);\n  local_40[2] = 1;\n  if (DAT_000b6c3a == '\0') {\n    if (DAT_000b6c3b != '\0') {\n      local_40[1] = 10;\n    }\n  }\n  else {\n    local_40[1] = 2;\n  }\n  uVar7 = 4;\n  if ((param_2 & 2) != 0) {\n    local_40[0] = 1;\n    uVar7 = 5;\n  }\n  if (cVar2 != '\0') {\n    local_74 = 0;\n    local_40[0] = uVar7;\n  }\n  local_50 = 0;\n  local_54 = param_1;\n  local_48 = &local_58;\n  cVar2 = FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54);\n  paVar20 = local_58;\n  if (cVar2 == '\0') {\n    local_64 = local_44;\n    if (local_44 == 0) {\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }\n  else {\n    piVar8 = __errno_location();\n    *piVar8 = 0x6e;\n    if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }\n  }\n  piVar8 = (int *)0x0;\nLAB_0002bafc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0007ad20();\n  }\n  return piVar8;\n}" (primitive_type "int") (pointer_declarator "* FUN_0002b620(char *param_1,uint param_2)" (* "*") (function_declarator "FUN_0002b620(char *param_1,uint param_2)" (identifier "FUN_0002b620") (parameter_list "(char *param_1,uint param_2)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) () ")")))) (compound_statement "{\n  sockaddr *psVar1;\n  char cVar2;\n  size_t sVar3;\n  char *pcVar4;\n  int iVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  void *pvVar13;\n  int iVar14;\n  code *pcVar15;\n  uint unaff_EBP;\n  addrinfo *paVar16;\n  char *pcVar17;\n  uint uVar18;\n  char *pcVar19;\n  addrinfo *paVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  int local_80;\n  undefined8 local_74;\n  char local_65;\n  uint local_64;\n  addrinfo *local_58;\n  char *local_54;\n  undefined4 local_50;\n  undefined4 *local_4c;\n  addrinfo **local_48;\n  uint local_44;\n  undefined4 local_40 [8];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2b629;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_74 = DAT_000b6b60;\n  uVar18 = param_2 & 1;\n  sVar3 = strlen(param_1);\n  pcVar4 = param_1 + sVar3;\n  if (param_1 < pcVar4) {\n    iVar5 = 0;\n    bVar21 = false;\n    iVar14 = 0;\n    pcVar17 = param_1;\n    do {\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    } while (pcVar4 != pcVar19);\nLAB_0002b6f2:\n    if (iVar5 < 4) goto LAB_0002b710;\n    cVar2 = '\x01';\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }\n  else {\nLAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);\n    if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n  }\n  local_4c = local_40;\n  uVar6 = 0;\n  do {\n    *(undefined4 *)((int)local_4c + uVar6) = 0;\n    uVar6 = uVar6 + 4;\n  } while (uVar6 < 0x20);\n  local_40[2] = 1;\n  if (DAT_000b6c3a == '\0') {\n    if (DAT_000b6c3b != '\0') {\n      local_40[1] = 10;\n    }\n  }\n  else {\n    local_40[1] = 2;\n  }\n  uVar7 = 4;\n  if ((param_2 & 2) != 0) {\n    local_40[0] = 1;\n    uVar7 = 5;\n  }\n  if (cVar2 != '\0') {\n    local_74 = 0;\n    local_40[0] = uVar7;\n  }\n  local_50 = 0;\n  local_54 = param_1;\n  local_48 = &local_58;\n  cVar2 = FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54);\n  paVar20 = local_58;\n  if (cVar2 == '\0') {\n    local_64 = local_44;\n    if (local_44 == 0) {\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }\n  else {\n    piVar8 = __errno_location();\n    *piVar8 = 0x6e;\n    if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }\n  }\n  piVar8 = (int *)0x0;\nLAB_0002bafc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0007ad20();\n  }\n  return piVar8;\n}" ({ "{") (declaration "sockaddr *psVar1;" (type_identifier "sockaddr") (pointer_declarator "*psVar1" (* "*") (identifier "psVar1")) (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "size_t sVar3;" (primitive_type "size_t") (identifier "sVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined4 *puVar10;" (type_identifier "undefined4") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "void *pvVar13;" (primitive_type "void") (pointer_declarator "*pvVar13" (* "*") (identifier "pvVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "code *pcVar15;" (type_identifier "code") (pointer_declarator "*pcVar15" (* "*") (identifier "pcVar15")) (; ";")) (declaration "uint unaff_EBP;" (type_identifier "uint") (identifier "unaff_EBP") (; ";")) (declaration "addrinfo *paVar16;" (type_identifier "addrinfo") (pointer_declarator "*paVar16" (* "*") (identifier "paVar16")) (; ";")) (declaration "char *pcVar17;" (primitive_type "char") (pointer_declarator "*pcVar17" (* "*") (identifier "pcVar17")) (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "char *pcVar19;" (primitive_type "char") (pointer_declarator "*pcVar19" (* "*") (identifier "pcVar19")) (; ";")) (declaration "addrinfo *paVar20;" (type_identifier "addrinfo") (pointer_declarator "*paVar20" (* "*") (identifier "paVar20")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "bool bVar21;" (primitive_type "bool") (identifier "bVar21") (; ";")) (declaration "int local_80;" (primitive_type "int") (identifier "local_80") (; ";")) (declaration "undefined8 local_74;" (type_identifier "undefined8") (identifier "local_74") (; ";")) (declaration "char local_65;" (primitive_type "char") (identifier "local_65") (; ";")) (declaration "uint local_64;" (type_identifier "uint") (identifier "local_64") (; ";")) (declaration "addrinfo *local_58;" (type_identifier "addrinfo") (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "char *local_54;" (primitive_type "char") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (declaration "undefined4 local_50;" (type_identifier "undefined4") (identifier "local_50") (; ";")) (declaration "undefined4 *local_4c;" (type_identifier "undefined4") (pointer_declarator "*local_4c" (* "*") (identifier "local_4c")) (; ";")) (declaration "addrinfo **local_48;" (type_identifier "addrinfo") (pointer_declarator "**local_48" (* "*") (pointer_declarator "*local_48" (* "*") (identifier "local_48"))) (; ";")) (declaration "uint local_44;" (type_identifier "uint") (identifier "local_44") (; ";")) (declaration "undefined4 local_40 [8];" (type_identifier "undefined4") (array_declarator "local_40 [8]" (identifier "local_40") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x2b629;" (assignment_expression "uStack_14 = 0x2b629" (identifier "uStack_14") (= "=") (number_literal "0x2b629")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "local_74 = DAT_000b6b60;" (assignment_expression "local_74 = DAT_000b6b60" (identifier "local_74") (= "=") (identifier "DAT_000b6b60")) (; ";")) (expression_statement "uVar18 = param_2 & 1;" (assignment_expression "uVar18 = param_2 & 1" (identifier "uVar18") (= "=") (binary_expression "param_2 & 1" (identifier "param_2") (& "&") (number_literal "1"))) (; ";")) (expression_statement "sVar3 = strlen(param_1);" (assignment_expression "sVar3 = strlen(param_1)" (identifier "sVar3") (= "=") (call_expression "strlen(param_1)" (identifier "strlen") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "pcVar4 = param_1 + sVar3;" (assignment_expression "pcVar4 = param_1 + sVar3" (identifier "pcVar4") (= "=") (binary_expression "param_1 + sVar3" (identifier "param_1") (+ "+") (identifier "sVar3"))) (; ";")) (if_statement "if (param_1 < pcVar4) {\n    iVar5 = 0;\n    bVar21 = false;\n    iVar14 = 0;\n    pcVar17 = param_1;\n    do {\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    } while (pcVar4 != pcVar19);\nLAB_0002b6f2:\n    if (iVar5 < 4) goto LAB_0002b710;\n    cVar2 = '\x01';\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }\n  else {\nLAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);\n    if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n  }" (if "if") (parenthesized_expression "(param_1 < pcVar4)" (( "(") (binary_expression "param_1 < pcVar4" (identifier "param_1") (< "<") (identifier "pcVar4")) () ")")) (compound_statement "{\n    iVar5 = 0;\n    bVar21 = false;\n    iVar14 = 0;\n    pcVar17 = param_1;\n    do {\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    } while (pcVar4 != pcVar19);\nLAB_0002b6f2:\n    if (iVar5 < 4) goto LAB_0002b710;\n    cVar2 = '\x01';\n    local_65 = '\0';\n    local_80._0_1_ = '\0';\n  }" ({ "{") (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" (identifier "bVar21") (= "=") (false "false")) (; ";")) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar17 = param_1;" (assignment_expression "pcVar17 = param_1" (identifier "pcVar17") (= "=") (identifier "param_1")) (; ";")) (do_statement "do {\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    } while (pcVar4 != pcVar19);" (do "do") (compound_statement "{\n      while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }\n      iVar14 = unaff_EBP + iVar14 * 10;\n      if (0xff < iVar14) goto LAB_0002b710;\n      if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }\n      pcVar17 = pcVar19;\n    }" ({ "{") (while_statement "while( true ) {\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        pcVar19 = pcVar17 + 1;\n        unaff_EBP = (int)*pcVar17 - 0x30;\n        if (unaff_EBP < 10) break;\n        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);\n        if (bVar21) goto LAB_0002b710;\n        iVar14 = 0;\n        pcVar17 = pcVar19;\n        if (pcVar4 == pcVar19) goto LAB_0002b6f2;\n      }" ({ "{") (expression_statement "pcVar19 = pcVar17 + 1;" (assignment_expression "pcVar19 = pcVar17 + 1" (identifier "pcVar19") (= "=") (binary_expression "pcVar17 + 1" (identifier "pcVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "unaff_EBP = (int)*pcVar17 - 0x30;" (assignment_expression "unaff_EBP = (int)*pcVar17 - 0x30" (identifier "unaff_EBP") (= "=") (binary_expression "(int)*pcVar17 - 0x30" (cast_expression "(int)*pcVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pcVar17" (* "*") (identifier "pcVar17"))) (- "-") (number_literal "0x30"))) (; ";")) (if_statement "if (unaff_EBP < 10) break;" (if "if") (parenthesized_expression "(unaff_EBP < 10)" (( "(") (binary_expression "unaff_EBP < 10" (identifier "unaff_EBP") (< "<") (number_literal "10")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);" (assignment_expression "bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4)" (identifier "bVar21") (= "=") (cast_expression "(bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4)" (( "(") (binary_expression "bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4" (binary_expression "bVar21 & *pcVar17 == 0x2e ^ 1U" (binary_expression "bVar21 & *pcVar17 == 0x2e" (identifier "bVar21") (& "&") (binary_expression "*pcVar17 == 0x2e" (pointer_expression "*pcVar17" (* "*") (identifier "pcVar17")) (== "==") (number_literal "0x2e"))) (^ "^") (number_literal "1U")) (| "|") (binary_expression "iVar5 == 4" (identifier "iVar5") (== "==") (number_literal "4"))) () ")")))) (; ";")) (if_statement "if (bVar21) goto LAB_0002b710;" (if "if") (parenthesized_expression "(bVar21)" (( "(") (identifier "bVar21") () ")")) (goto_statement "goto LAB_0002b710;" (goto "goto") (statement_identifier "LAB_0002b710") (; ";"))) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar17 = pcVar19;" (assignment_expression "pcVar17 = pcVar19" (identifier "pcVar17") (= "=") (identifier "pcVar19")) (; ";")) (if_statement "if (pcVar4 == pcVar19) goto LAB_0002b6f2;" (if "if") (parenthesized_expression "(pcVar4 == pcVar19)" (( "(") (binary_expression "pcVar4 == pcVar19" (identifier "pcVar4") (== "==") (identifier "pcVar19")) () ")")) (goto_statement "goto LAB_0002b6f2;" (goto "goto") (statement_identifier "LAB_0002b6f2") (; ";"))) (} "}"))) (expression_statement "iVar14 = unaff_EBP + iVar14 * 10;" (assignment_expression "iVar14 = unaff_EBP + iVar14 * 10" (identifier "iVar14") (= "=") (binary_expression "unaff_EBP + iVar14 * 10" (identifier "unaff_EBP") (+ "+") (binary_expression "iVar14 * 10" (identifier "iVar14") (* "*") (number_literal "10")))) (; ";")) (if_statement "if (0xff < iVar14) goto LAB_0002b710;" (if "if") (parenthesized_expression "(0xff < iVar14)" (( "(") (binary_expression "0xff < iVar14" (number_literal "0xff") (< "<") (identifier "iVar14")) () ")")) (goto_statement "goto LAB_0002b710;" (goto "goto") (statement_identifier "LAB_0002b710") (; ";"))) (if_statement "if (!bVar21) {\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }" (if "if") (parenthesized_expression "(!bVar21)" (( "(") (unary_expression "!bVar21" (! "!") (identifier "bVar21")) () ")")) (compound_statement "{\n        iVar5 = iVar5 + 1;\n        if (4 < iVar5) goto LAB_0002b710;\n        bVar21 = true;\n      }" ({ "{") (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" (identifier "iVar5") (= "=") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (4 < iVar5) goto LAB_0002b710;" (if "if") (parenthesized_expression "(4 < iVar5)" (( "(") (binary_expression "4 < iVar5" (number_literal "4") (< "<") (identifier "iVar5")) () ")")) (goto_statement "goto LAB_0002b710;" (goto "goto") (statement_identifier "LAB_0002b710") (; ";"))) (expression_statement "bVar21 = true;" (assignment_expression "bVar21 = true" (identifier "bVar21") (= "=") (true "true")) (; ";")) (} "}"))) (expression_statement "pcVar17 = pcVar19;" (assignment_expression "pcVar17 = pcVar19" (identifier "pcVar17") (= "=") (identifier "pcVar19")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar4 != pcVar19)" (( "(") (binary_expression "pcVar4 != pcVar19" (identifier "pcVar4") (!= "!=") (identifier "pcVar19")) () ")")) (; ";")) (labeled_statement "LAB_0002b6f2:\n    if (iVar5 < 4) goto LAB_0002b710;" (statement_identifier "LAB_0002b6f2") (: ":") (if_statement "if (iVar5 < 4) goto LAB_0002b710;" (if "if") (parenthesized_expression "(iVar5 < 4)" (( "(") (binary_expression "iVar5 < 4" (identifier "iVar5") (< "<") (number_literal "4")) () ")")) (goto_statement "goto LAB_0002b710;" (goto "goto") (statement_identifier "LAB_0002b710") (; ";")))) (expression_statement "cVar2 = '\x01';" (assignment_expression "cVar2 = '\x01'" (identifier "cVar2") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "local_65 = '\0';" (assignment_expression "local_65 = '\0'" (identifier "local_65") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_80._0_1_ = '\0';" (assignment_expression "local_80._0_1_ = '\0'" (field_expression "local_80._0_1_" (identifier "local_80") (. ".") (field_identifier "_0_1_")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}")) (else_clause "else {\nLAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);\n    if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n  }" (else "else") (compound_statement "{\nLAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);\n    if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }\n  }" ({ "{") (labeled_statement "LAB_0002b710:\n    cVar2 = FUN_0002b3f0(param_1,pcVar4);" (statement_identifier "LAB_0002b710") (: ":") (expression_statement "cVar2 = FUN_0002b3f0(param_1,pcVar4);" (assignment_expression "cVar2 = FUN_0002b3f0(param_1,pcVar4)" (identifier "cVar2") (= "=") (call_expression "FUN_0002b3f0(param_1,pcVar4)" (identifier "FUN_0002b3f0") (argument_list "(param_1,pcVar4)" (( "(") (identifier "param_1") (, ",") (identifier "pcVar4") () ")")))) (; ";"))) (if_statement "if (cVar2 == '\0') {\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }\n    else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }" (if "if") (parenthesized_expression "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      local_65 = DAT_000b6ac4;\n      if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }\n      local_80._0_1_ = (char)(~param_2 & 1);\n      if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }\n    }" ({ "{") (expression_statement "local_65 = DAT_000b6ac4;" (assignment_expression "local_65 = DAT_000b6ac4" (identifier "local_65") (= "=") (identifier "DAT_000b6ac4")) (; ";")) (if_statement "if ((param_2 & 2) == 0) {\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }\n      else {\n        local_65 = '\0';\n      }" (if "if") (parenthesized_expression "((param_2 & 2) == 0)" (( "(") (binary_expression "(param_2 & 2) == 0" (parenthesized_expression "(param_2 & 2)" (( "(") (binary_expression "param_2 & 2" (identifier "param_2") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }\n      }" ({ "{") (if_statement "if (DAT_000b6ac4 != '\0') {\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }" (if "if") (parenthesized_expression "(DAT_000b6ac4 != '\0')" (( "(") (binary_expression "DAT_000b6ac4 != '\0'" (identifier "DAT_000b6ac4") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }\n        }" ({ "{") (if_statement "if ((param_2 & 4) == 0) {\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }\n          else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }" (if "if") (parenthesized_expression "((param_2 & 4) == 0)" (( "(") (binary_expression "(param_2 & 4) == 0" (parenthesized_expression "(param_2 & 4)" (( "(") (binary_expression "param_2 & 4" (identifier "param_2") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }\n          }" ({ "{") (if_statement "if ((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }" (if "if") (parenthesized_expression "((DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0))" (( "(") (binary_expression "(DAT_000b14e0 != 0) &&\n               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)" (parenthesized_expression "(DAT_000b14e0 != 0)" (( "(") (binary_expression "DAT_000b14e0 != 0" (identifier "DAT_000b14e0") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)" (( "(") (comma_expression "piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0" (assignment_expression "piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1)" (identifier "piVar8") (= "=") (cast_expression "(int *)FUN_0002a8d0(DAT_000b14e0,param_1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0002a8d0(DAT_000b14e0,param_1)" (identifier "FUN_0002a8d0") (argument_list "(DAT_000b14e0,param_1)" (( "(") (identifier "DAT_000b14e0") (, ",") (identifier "param_1") () ")"))))) (, ",") (binary_expression "piVar8 != (int *)0x0" (identifier "piVar8") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n              if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }\n              piVar8[4] = piVar8[4] + 1;\n              goto LAB_0002bafc;\n            }" ({ "{") (if_statement "if (DAT_000b6b9b != '\0') {\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }" (if "if") (parenthesized_expression "(DAT_000b6b9b != '\0')" (( "(") (binary_expression "DAT_000b6b9b != '\0'" (identifier "DAT_000b6b9b") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);\n              }" ({ "{") (expression_statement "FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);" (call_expression "FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8)" (identifier "FUN_0003e2e0") (argument_list "("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8)" (( "(") (string_literal ""Found %s in host_name_addresses_map (%p)\n"" (" """) (string_content "Found %s in host_name_addresses_map (%p)") (escape_sequence "\n") (" """)) (, ",") (identifier "param_1") (, ",") (identifier "piVar8") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar8[4] = piVar8[4] + 1;" (assignment_expression "piVar8[4] = piVar8[4] + 1" (subscript_expression "piVar8[4]" (identifier "piVar8") ([ "[") (number_literal "4") (] "]")) (= "=") (binary_expression "piVar8[4] + 1" (subscript_expression "piVar8[4]" (identifier "piVar8") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_0002bafc;" (goto "goto") (statement_identifier "LAB_0002bafc") (; ";")) (} "}"))) (} "}")) (else_clause "else if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }" (else "else") (if_statement "if ((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }" (if "if") (parenthesized_expression "((DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0))" (( "(") (binary_expression "(DAT_000b14e0 != 0) &&\n                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)" (parenthesized_expression "(DAT_000b14e0 != 0)" (( "(") (binary_expression "DAT_000b14e0 != 0" (identifier "DAT_000b14e0") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)" (( "(") (comma_expression "pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0" (assignment_expression "pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1)" (identifier "pvVar13") (= "=") (cast_expression "(void *)FUN_0002a8d0(DAT_000b14e0,param_1)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0002a8d0(DAT_000b14e0,param_1)" (identifier "FUN_0002a8d0") (argument_list "(DAT_000b14e0,param_1)" (( "(") (identifier "DAT_000b14e0") (, ",") (identifier "param_1") () ")"))))) (, ",") (binary_expression "pvVar13 != (void *)0x0" (identifier "pvVar13") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;\n            bVar21 = DAT_000b6b9b == '\0';\n            *(int *)((int)pvVar13 + 0x10) = iVar14;\n            if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }\n            FUN_0002acb0(DAT_000b14e0,param_1);\n          }" ({ "{") (expression_statement "iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;" (assignment_expression "iVar14 = *(int *)((int)pvVar13 + 0x10) + -1" (identifier "iVar14") (= "=") (binary_expression "*(int *)((int)pvVar13 + 0x10) + -1" (pointer_expression "*(int *)((int)pvVar13 + 0x10)" (* "*") (cast_expression "(int *)((int)pvVar13 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar13 + 0x10)" (( "(") (binary_expression "(int)pvVar13 + 0x10" (cast_expression "(int)pvVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar13")) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar21 = DAT_000b6b9b == '\0';" (assignment_expression "bVar21 = DAT_000b6b9b == '\0'" (identifier "bVar21") (= "=") (binary_expression "DAT_000b6b9b == '\0'" (identifier "DAT_000b6b9b") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (expression_statement "*(int *)((int)pvVar13 + 0x10) = iVar14;" (assignment_expression "*(int *)((int)pvVar13 + 0x10) = iVar14" (pointer_expression "*(int *)((int)pvVar13 + 0x10)" (* "*") (cast_expression "(int *)((int)pvVar13 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar13 + 0x10)" (( "(") (binary_expression "(int)pvVar13 + 0x10" (cast_expression "(int)pvVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar13")) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "iVar14")) (; ";")) (if_statement "if (bVar21) {\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }\n            else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }" (if "if") (parenthesized_expression "(bVar21)" (( "(") (identifier "bVar21") () ")")) (compound_statement "{\n              if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }\n            }" ({ "{") (if_statement "if (iVar14 < 1) {\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }" (if "if") (parenthesized_expression "(iVar14 < 1)" (( "(") (binary_expression "iVar14 < 1" (identifier "iVar14") (< "<") (number_literal "1")) () ")")) (compound_statement "{\nLAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));\n                free(pvVar13);\n              }" ({ "{") (labeled_statement "LAB_0002bed2:\n                free(*(void **)((int)pvVar13 + 4));" (statement_identifier "LAB_0002bed2") (: ":") (expression_statement "free(*(void **)((int)pvVar13 + 4));" (call_expression "free(*(void **)((int)pvVar13 + 4))" (identifier "free") (argument_list "(*(void **)((int)pvVar13 + 4))" (( "(") (pointer_expression "*(void **)((int)pvVar13 + 4)" (* "*") (cast_expression "(void **)((int)pvVar13 + 4)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar13 + 4)" (( "(") (binary_expression "(int)pvVar13 + 4" (cast_expression "(int)pvVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar13")) (+ "+") (number_literal "4")) () ")")))) () ")"))) (; ";"))) (expression_statement "free(pvVar13);" (call_expression "free(pvVar13)" (identifier "free") (argument_list "(pvVar13)" (( "(") (identifier "pvVar13") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }" (else "else") (compound_statement "{\n              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);\n              if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }\n            }" ({ "{") (expression_statement "FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);" (call_expression "FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14)" (identifier "FUN_0003e2e0") (argument_list "("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14)" (( "(") (string_literal ""Releasing 0x%0*lx (new refcount %d).\n"" (" """) (string_content "Releasing 0x%0*lx (new refcount %d).") (escape_sequence "\n") (" """)) (, ",") (number_literal "8") (, ",") (identifier "pvVar13") (, ",") (identifier "iVar14") () ")"))) (; ";")) (if_statement "if (*(int *)((int)pvVar13 + 0x10) < 1) {\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }" (if "if") (parenthesized_expression "(*(int *)((int)pvVar13 + 0x10) < 1)" (( "(") (binary_expression "*(int *)((int)pvVar13 + 0x10) < 1" (pointer_expression "*(int *)((int)pvVar13 + 0x10)" (* "*") (cast_expression "(int *)((int)pvVar13 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar13 + 0x10)" (( "(") (binary_expression "(int)pvVar13 + 0x10" (cast_expression "(int)pvVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar13")) (+ "+") (number_literal "0x10")) () ")")))) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n                if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }\n                goto LAB_0002bed2;\n              }" ({ "{") (if_statement "if (DAT_000b6b9b != '\0') {\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }" (if "if") (parenthesized_expression "(DAT_000b6b9b != '\0')" (( "(") (binary_expression "DAT_000b6b9b != '\0'" (identifier "DAT_000b6b9b") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);\n                }" ({ "{") (expression_statement "FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);" (call_expression "FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP)" (identifier "FUN_0003e2e0") (argument_list "("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP)" (( "(") (string_literal ""Deleting unused 0x%0*lx.\n"" (" """) (string_content "Deleting unused 0x%0*lx.") (escape_sequence "\n") (" """)) (, ",") (number_literal "8") (, ",") (identifier "pvVar13") (, ",") (identifier "unaff_EBP") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0002bed2;" (goto "goto") (statement_identifier "LAB_0002bed2") (; ";")) (} "}"))) (} "}")))) (expression_statement "FUN_0002acb0(DAT_000b14e0,param_1);" (call_expression "FUN_0002acb0(DAT_000b14e0,param_1)" (identifier "FUN_0002acb0") (argument_list "(DAT_000b14e0,param_1)" (( "(") (identifier "DAT_000b14e0") (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}"))))) (} "}"))) (} "}")) (else_clause "else {\n        local_65 = '\0';\n      }" (else "else") (compound_statement "{\n        local_65 = '\0';\n      }" ({ "{") (expression_statement "local_65 = '\0';" (assignment_expression "local_65 = '\0'" (identifier "local_65") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}")))) (expression_statement "local_80._0_1_ = (char)(~param_2 & 1);" (assignment_expression "local_80._0_1_ = (char)(~param_2 & 1)" (field_expression "local_80._0_1_" (identifier "local_80") (. ".") (field_identifier "_0_1_")) (= "=") (cast_expression "(char)(~param_2 & 1)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(~param_2 & 1)" (( "(") (binary_expression "~param_2 & 1" (unary_expression "~param_2" (~ "~") (identifier "param_2")) (& "&") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((~param_2 & 1) == 0) {\n        cVar2 = '\0';\n      }\n      else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }" (if "if") (parenthesized_expression "((~param_2 & 1) == 0)" (( "(") (binary_expression "(~param_2 & 1) == 0" (parenthesized_expression "(~param_2 & 1)" (( "(") (binary_expression "~param_2 & 1" (unary_expression "~param_2" (~ "~") (identifier "param_2")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        cVar2 = '\0';\n      }" ({ "{") (expression_statement "cVar2 = '\0';" (assignment_expression "cVar2 = '\0'" (identifier "cVar2") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}")) (else_clause "else {\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }" (else "else") (compound_statement "{\n        pcVar4 = param_1;\n        if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }\n        uVar7 = FUN_00061a80(7,pcVar4);\n        uVar12 = dcgettext(0,"Resolving %s... ",5);\n        FUN_0003df30(0,uVar12,uVar7);\n        free(pcVar17);\n      }" ({ "{") (expression_statement "pcVar4 = param_1;" (assignment_expression "pcVar4 = param_1" (identifier "pcVar4") (= "=") (identifier "param_1")) (; ";")) (if_statement "if ((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {\n          pcVar17 = (char *)0x0;\n        }\n        else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }" (if "if") (parenthesized_expression "((DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0))" (( "(") (binary_expression "(DAT_000b6c42 == '\0') ||\n           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)" (parenthesized_expression "(DAT_000b6c42 == '\0')" (( "(") (binary_expression "DAT_000b6c42 == '\0'" (identifier "DAT_000b6c42") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)" (( "(") (comma_expression "pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0" (assignment_expression "pvVar13 = (void *)FUN_000557a0(param_1)" (identifier "pvVar13") (= "=") (cast_expression "(void *)FUN_000557a0(param_1)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000557a0(param_1)" (identifier "FUN_000557a0") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (, ",") (binary_expression "pvVar13 == (void *)0x0" (identifier "pvVar13") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n          pcVar17 = (char *)0x0;\n        }" ({ "{") (expression_statement "pcVar17 = (char *)0x0;" (assignment_expression "pcVar17 = (char *)0x0" (identifier "pcVar17") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }" (else "else") (compound_statement "{\n          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);\n          free(pvVar13);\n          if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }\n        }" ({ "{") (expression_statement "pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);" (assignment_expression "pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1)" (identifier "pcVar17") (= "=") (cast_expression "(char *)FUN_0004fa20("%s (%s)",pvVar13,param_1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0004fa20("%s (%s)",pvVar13,param_1)" (identifier "FUN_0004fa20") (argument_list "("%s (%s)",pvVar13,param_1)" (( "(") (string_literal ""%s (%s)"" (" """) (string_content "%s (%s)") (" """)) (, ",") (identifier "pvVar13") (, ",") (identifier "param_1") () ")"))))) (; ";")) (expression_statement "free(pvVar13);" (call_expression "free(pvVar13)" (identifier "free") (argument_list "(pvVar13)" (( "(") (identifier "pvVar13") () ")"))) (; ";")) (if_statement "if (pcVar17 != (char *)0x0) {\n            pcVar4 = pcVar17;\n          }" (if "if") (parenthesized_expression "(pcVar17 != (char *)0x0)" (( "(") (binary_expression "pcVar17 != (char *)0x0" (identifier "pcVar17") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pcVar4 = pcVar17;\n          }" ({ "{") (expression_statement "pcVar4 = pcVar17;" (assignment_expression "pcVar4 = pcVar17" (identifier "pcVar4") (= "=") (identifier "pcVar17")) (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar7 = FUN_00061a80(7,pcVar4);" (assignment_expression "uVar7 = FUN_00061a80(7,pcVar4)" (identifier "uVar7") (= "=") (call_expression "FUN_00061a80(7,pcVar4)" (identifier "FUN_00061a80") (argument_list "(7,pcVar4)" (( "(") (number_literal "7") (, ",") (identifier "pcVar4") () ")")))) (; ";")) (expression_statement "uVar12 = dcgettext(0,"Resolving %s... ",5);" (assignment_expression "uVar12 = dcgettext(0,"Resolving %s... ",5)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,"Resolving %s... ",5)" (identifier "dcgettext") (argument_list "(0,"Resolving %s... ",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Resolving %s... "" (" """) (string_content "Resolving %s... ") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0003df30(0,uVar12,uVar7);" (call_expression "FUN_0003df30(0,uVar12,uVar7)" (identifier "FUN_0003df30") (argument_list "(0,uVar12,uVar7)" (( "(") (number_literal "0") (, ",") (identifier "uVar12") (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "free(pcVar17);" (call_expression "free(pcVar17)" (identifier "free") (argument_list "(pcVar17)" (( "(") (identifier "pcVar17") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }" (else "else") (compound_statement "{\n      local_65 = '\0';\n      local_80._0_1_ = '\0';\n    }" ({ "{") (expression_statement "local_65 = '\0';" (assignment_expression "local_65 = '\0'" (identifier "local_65") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_80._0_1_ = '\0';" (assignment_expression "local_80._0_1_ = '\0'" (field_expression "local_80._0_1_" (identifier "local_80") (. ".") (field_identifier "_0_1_")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}")))) (} "}")))) (expression_statement "local_4c = local_40;" (assignment_expression "local_4c = local_40" (identifier "local_4c") (= "=") (identifier "local_40")) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    *(undefined4 *)((int)local_4c + uVar6) = 0;\n    uVar6 = uVar6 + 4;\n  } while (uVar6 < 0x20);" (do "do") (compound_statement "{\n    *(undefined4 *)((int)local_4c + uVar6) = 0;\n    uVar6 = uVar6 + 4;\n  }" ({ "{") (expression_statement "*(undefined4 *)((int)local_4c + uVar6) = 0;" (assignment_expression "*(undefined4 *)((int)local_4c + uVar6) = 0" (pointer_expression "*(undefined4 *)((int)local_4c + uVar6)" (* "*") (cast_expression "(undefined4 *)((int)local_4c + uVar6)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_4c + uVar6)" (( "(") (binary_expression "(int)local_4c + uVar6" (cast_expression "(int)local_4c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_4c")) (+ "+") (identifier "uVar6")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar6 = uVar6 + 4;" (assignment_expression "uVar6 = uVar6 + 4" (identifier "uVar6") (= "=") (binary_expression "uVar6 + 4" (identifier "uVar6") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar6 < 0x20)" (( "(") (binary_expression "uVar6 < 0x20" (identifier "uVar6") (< "<") (number_literal "0x20")) () ")")) (; ";")) (expression_statement "local_40[2] = 1;" (assignment_expression "local_40[2] = 1" (subscript_expression "local_40[2]" (identifier "local_40") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "1")) (; ";")) (if_statement "if (DAT_000b6c3a == '\0') {\n    if (DAT_000b6c3b != '\0') {\n      local_40[1] = 10;\n    }\n  }\n  else {\n    local_40[1] = 2;\n  }" (if "if") (parenthesized_expression "(DAT_000b6c3a == '\0')" (( "(") (binary_expression "DAT_000b6c3a == '\0'" (identifier "DAT_000b6c3a") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (DAT_000b6c3b != '\0') {\n      local_40[1] = 10;\n    }\n  }" ({ "{") (if_statement "if (DAT_000b6c3b != '\0') {\n      local_40[1] = 10;\n    }" (if "if") (parenthesized_expression "(DAT_000b6c3b != '\0')" (( "(") (binary_expression "DAT_000b6c3b != '\0'" (identifier "DAT_000b6c3b") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      local_40[1] = 10;\n    }" ({ "{") (expression_statement "local_40[1] = 10;" (assignment_expression "local_40[1] = 10" (subscript_expression "local_40[1]" (identifier "local_40") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "10")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    local_40[1] = 2;\n  }" (else "else") (compound_statement "{\n    local_40[1] = 2;\n  }" ({ "{") (expression_statement "local_40[1] = 2;" (assignment_expression "local_40[1] = 2" (subscript_expression "local_40[1]" (identifier "local_40") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "2")) (; ";")) (} "}")))) (expression_statement "uVar7 = 4;" (assignment_expression "uVar7 = 4" (identifier "uVar7") (= "=") (number_literal "4")) (; ";")) (if_statement "if ((param_2 & 2) != 0) {\n    local_40[0] = 1;\n    uVar7 = 5;\n  }" (if "if") (parenthesized_expression "((param_2 & 2) != 0)" (( "(") (binary_expression "(param_2 & 2) != 0" (parenthesized_expression "(param_2 & 2)" (( "(") (binary_expression "param_2 & 2" (identifier "param_2") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_40[0] = 1;\n    uVar7 = 5;\n  }" ({ "{") (expression_statement "local_40[0] = 1;" (assignment_expression "local_40[0] = 1" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar7 = 5;" (assignment_expression "uVar7 = 5" (identifier "uVar7") (= "=") (number_literal "5")) (; ";")) (} "}"))) (if_statement "if (cVar2 != '\0') {\n    local_74 = 0;\n    local_40[0] = uVar7;\n  }" (if "if") (parenthesized_expression "(cVar2 != '\0')" (( "(") (binary_expression "cVar2 != '\0'" (identifier "cVar2") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_74 = 0;\n    local_40[0] = uVar7;\n  }" ({ "{") (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" (identifier "local_74") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40[0] = uVar7;" (assignment_expression "local_40[0] = uVar7" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (} "}"))) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_54 = param_1;" (assignment_expression "local_54 = param_1" (identifier "local_54") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_48 = &local_58;" (assignment_expression "local_48 = &local_58" (identifier "local_48") (= "=") (pointer_expression "&local_58" (& "&") (identifier "local_58"))) (; ";")) (expression_statement "cVar2 = FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54);" (assignment_expression "cVar2 = FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54)" (identifier "cVar2") (= "=") (call_expression "FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54)" (identifier "FUN_00053f80") (argument_list "((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54)" (( "(") (cast_expression "(undefined4)local_74" (( "(") (type_descriptor "undefined4" (type_identifier "undefined4")) () ")") (identifier "local_74")) (, ",") (field_expression "local_74._4_4_" (identifier "local_74") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "FUN_0002b110") (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) () ")")))) (; ";")) (expression_statement "paVar20 = local_58;" (assignment_expression "paVar20 = local_58" (identifier "paVar20") (= "=") (identifier "local_58")) (; ";")) (if_statement "if (cVar2 == '\0') {\n    local_64 = local_44;\n    if (local_44 == 0) {\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }\n  else {\n    piVar8 = __errno_location();\n    *piVar8 = 0x6e;\n    if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }\n  }" (if "if") (parenthesized_expression "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_64 = local_44;\n    if (local_44 == 0) {\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }\n  }" ({ "{") (expression_statement "local_64 = local_44;" (assignment_expression "local_64 = local_44" (identifier "local_64") (= "=") (identifier "local_44")) (; ";")) (if_statement "if (local_44 == 0) {\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }\n    else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }" (if "if") (parenthesized_expression "(local_44 == 0)" (( "(") (binary_expression "local_44 == 0" (identifier "local_44") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }\n      local_64 = uVar18;\n      if (uVar18 == 0) goto LAB_0002bce8;\n    }" ({ "{") (if_statement "if (local_58 != (addrinfo *)0x0) {\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }" (if "if") (parenthesized_expression "(local_58 != (addrinfo *)0x0)" (( "(") (binary_expression "local_58 != (addrinfo *)0x0" (identifier "local_58") (!= "!=") (cast_expression "(addrinfo *)0x0" (( "(") (type_descriptor "addrinfo *" (type_identifier "addrinfo") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar14 = 0;\n        paVar16 = local_58;\n        do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);\n        if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }\n        piVar8 = (int *)FUN_00062f90(1,0x14);\n        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);\n        *piVar8 = iVar14;\n        piVar8[1] = (int)puVar9;\n        piVar8[4] = 1;\n        do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);\nLAB_0002b8a8:\n        freeaddrinfo(local_58);\n        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }\n        if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }\n        if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }\n        goto LAB_0002bafc;\n      }" ({ "{") (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (expression_statement "paVar16 = local_58;" (assignment_expression "paVar16 = local_58" (identifier "paVar16") (= "=") (identifier "local_58")) (; ";")) (do_statement "do {\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        } while (paVar16 != (addrinfo *)0x0);" (do "do") (compound_statement "{\n          piVar8 = &paVar16->ai_family;\n          paVar16 = paVar16->ai_next;\n          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);\n        }" ({ "{") (expression_statement "piVar8 = &paVar16->ai_family;" (assignment_expression "piVar8 = &paVar16->ai_family" (identifier "piVar8") (= "=") (pointer_expression "&paVar16->ai_family" (& "&") (field_expression "paVar16->ai_family" (identifier "paVar16") (-> "->") (field_identifier "ai_family")))) (; ";")) (expression_statement "paVar16 = paVar16->ai_next;" (assignment_expression "paVar16 = paVar16->ai_next" (identifier "paVar16") (= "=") (field_expression "paVar16->ai_next" (identifier "paVar16") (-> "->") (field_identifier "ai_next"))) (; ";")) (expression_statement "iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);" (assignment_expression "iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2)" (identifier "iVar14") (= "=") (binary_expression "iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2)" (identifier "iVar14") (+ "+") (call_expression "(uint)((*piVar8 & 0xfffffff7U) == 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((*piVar8 & 0xfffffff7U) == 2)" (( "(") (binary_expression "(*piVar8 & 0xfffffff7U) == 2" (parenthesized_expression "(*piVar8 & 0xfffffff7U)" (( "(") (binary_expression "*piVar8 & 0xfffffff7U" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (& "&") (number_literal "0xfffffff7U")) () ")")) (== "==") (number_literal "2")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(paVar16 != (addrinfo *)0x0)" (( "(") (binary_expression "paVar16 != (addrinfo *)0x0" (identifier "paVar16") (!= "!=") (cast_expression "(addrinfo *)0x0" (( "(") (type_descriptor "addrinfo *" (type_identifier "addrinfo") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (if_statement "if (iVar14 == 0) {\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          freeaddrinfo(local_58);\n          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);\n          FUN_0003df30(0,uVar7);\n          piVar8 = (int *)0x0;\n          goto LAB_0002bafc;\n        }" ({ "{") (expression_statement "freeaddrinfo(local_58);" (call_expression "freeaddrinfo(local_58)" (identifier "freeaddrinfo") (argument_list "(local_58)" (( "(") (identifier "local_58") () ")"))) (; ";")) (expression_statement "uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);" (assignment_expression "uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5)" (identifier "dcgettext") (argument_list "(0,"failed: No IPv4/IPv6 addresses for host.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""failed: No IPv4/IPv6 addresses for host.\n"" (" """) (string_content "failed: No IPv4/IPv6 addresses for host.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0003df30(0,uVar7);" (call_expression "FUN_0003df30(0,uVar7)" (identifier "FUN_0003df30") (argument_list "(0,uVar7)" (( "(") (number_literal "0") (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "piVar8 = (int *)0x0;" (assignment_expression "piVar8 = (int *)0x0" (identifier "piVar8") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_0002bafc;" (goto "goto") (statement_identifier "LAB_0002bafc") (; ";")) (} "}"))) (expression_statement "piVar8 = (int *)FUN_00062f90(1,0x14);" (assignment_expression "piVar8 = (int *)FUN_00062f90(1,0x14)" (identifier "piVar8") (= "=") (cast_expression "(int *)FUN_00062f90(1,0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00062f90(1,0x14)" (identifier "FUN_00062f90") (argument_list "(1,0x14)" (( "(") (number_literal "1") (, ",") (number_literal "0x14") () ")"))))) (; ";")) (expression_statement "puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);" (assignment_expression "puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)FUN_00062e50(iVar14 * 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00062e50(iVar14 * 0x18)" (identifier "FUN_00062e50") (argument_list "(iVar14 * 0x18)" (( "(") (binary_expression "iVar14 * 0x18" (identifier "iVar14") (* "*") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*piVar8 = iVar14;" (assignment_expression "*piVar8 = iVar14" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (identifier "iVar14")) (; ";")) (expression_statement "piVar8[1] = (int)puVar9;" (assignment_expression "piVar8[1] = (int)puVar9" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9"))) (; ";")) (expression_statement "piVar8[4] = 1;" (assignment_expression "piVar8[4] = 1" (subscript_expression "piVar8[4]" (identifier "piVar8") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        } while (paVar20 != (addrinfo *)0x0);" (do "do") (compound_statement "{\n          while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }\n          psVar1 = paVar20->ai_addr;\n          paVar20 = paVar20->ai_next;\n          *puVar9 = 10;\n          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);\n          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);\n          puVar9[3] = *(undefined4 *)(psVar1 + 1);\n          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);\n          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);\n          puVar9[5] = uVar7;\n          puVar9 = puVar9 + 6;\n        }" ({ "{") (while_statement "while (paVar20->ai_family != 10) {\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }" (while "while") (parenthesized_expression "(paVar20->ai_family != 10)" (( "(") (binary_expression "paVar20->ai_family != 10" (field_expression "paVar20->ai_family" (identifier "paVar20") (-> "->") (field_identifier "ai_family")) (!= "!=") (number_literal "10")) () ")")) (compound_statement "{\n            puVar10 = puVar9;\n            if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }\n            paVar20 = paVar20->ai_next;\n            puVar9 = puVar10;\n            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;\n          }" ({ "{") (expression_statement "puVar10 = puVar9;" (assignment_expression "puVar10 = puVar9" (identifier "puVar10") (= "=") (identifier "puVar9")) (; ";")) (if_statement "if (paVar20->ai_family == 2) {\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }" (if "if") (parenthesized_expression "(paVar20->ai_family == 2)" (( "(") (binary_expression "paVar20->ai_family == 2" (field_expression "paVar20->ai_family" (identifier "paVar20") (-> "->") (field_identifier "ai_family")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              psVar1 = paVar20->ai_addr;\n              puVar10 = puVar9 + 6;\n              *puVar9 = 2;\n              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);\n            }" ({ "{") (expression_statement "psVar1 = paVar20->ai_addr;" (assignment_expression "psVar1 = paVar20->ai_addr" (identifier "psVar1") (= "=") (field_expression "paVar20->ai_addr" (identifier "paVar20") (-> "->") (field_identifier "ai_addr"))) (; ";")) (expression_statement "puVar10 = puVar9 + 6;" (assignment_expression "puVar10 = puVar9 + 6" (identifier "puVar10") (= "=") (binary_expression "puVar9 + 6" (identifier "puVar9") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "*puVar9 = 2;" (assignment_expression "*puVar9 = 2" (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) (= "=") (number_literal "2")) (; ";")) (expression_statement "puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);" (assignment_expression "puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2)" (subscript_expression "puVar9[1]" (identifier "puVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(psVar1->sa_data + 2)" (* "*") (cast_expression "(undefined4 *)(psVar1->sa_data + 2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(psVar1->sa_data + 2)" (( "(") (binary_expression "psVar1->sa_data + 2" (field_expression "psVar1->sa_data" (identifier "psVar1") (-> "->") (field_identifier "sa_data")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (} "}"))) (expression_statement "paVar20 = paVar20->ai_next;" (assignment_expression "paVar20 = paVar20->ai_next" (identifier "paVar20") (= "=") (field_expression "paVar20->ai_next" (identifier "paVar20") (-> "->") (field_identifier "ai_next"))) (; ";")) (expression_statement "puVar9 = puVar10;" (assignment_expression "puVar9 = puVar10" (identifier "puVar9") (= "=") (identifier "puVar10")) (; ";")) (if_statement "if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;" (if "if") (parenthesized_expression "(paVar20 == (addrinfo *)0x0)" (( "(") (binary_expression "paVar20 == (addrinfo *)0x0" (identifier "paVar20") (== "==") (cast_expression "(addrinfo *)0x0" (( "(") (type_descriptor "addrinfo *" (type_identifier "addrinfo") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0002b8a8;" (goto "goto") (statement_identifier "LAB_0002b8a8") (; ";"))) (} "}"))) (expression_statement "psVar1 = paVar20->ai_addr;" (assignment_expression "psVar1 = paVar20->ai_addr" (identifier "psVar1") (= "=") (field_expression "paVar20->ai_addr" (identifier "paVar20") (-> "->") (field_identifier "ai_addr"))) (; ";")) (expression_statement "paVar20 = paVar20->ai_next;" (assignment_expression "paVar20 = paVar20->ai_next" (identifier "paVar20") (= "=") (field_expression "paVar20->ai_next" (identifier "paVar20") (-> "->") (field_identifier "ai_next"))) (; ";")) (expression_statement "*puVar9 = 10;" (assignment_expression "*puVar9 = 10" (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) (= "=") (number_literal "10")) (; ";")) (expression_statement "puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);" (assignment_expression "puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6)" (subscript_expression "puVar9[1]" (identifier "puVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(psVar1->sa_data + 6)" (* "*") (cast_expression "(undefined4 *)(psVar1->sa_data + 6)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(psVar1->sa_data + 6)" (( "(") (binary_expression "psVar1->sa_data + 6" (field_expression "psVar1->sa_data" (identifier "psVar1") (-> "->") (field_identifier "sa_data")) (+ "+") (number_literal "6")) () ")"))))) (; ";")) (expression_statement "puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);" (assignment_expression "puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10)" (subscript_expression "puVar9[2]" (identifier "puVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(psVar1->sa_data + 10)" (* "*") (cast_expression "(undefined4 *)(psVar1->sa_data + 10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(psVar1->sa_data + 10)" (( "(") (binary_expression "psVar1->sa_data + 10" (field_expression "psVar1->sa_data" (identifier "psVar1") (-> "->") (field_identifier "sa_data")) (+ "+") (number_literal "10")) () ")"))))) (; ";")) (expression_statement "puVar9[3] = *(undefined4 *)(psVar1 + 1);" (assignment_expression "puVar9[3] = *(undefined4 *)(psVar1 + 1)" (subscript_expression "puVar9[3]" (identifier "puVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(psVar1 + 1)" (* "*") (cast_expression "(undefined4 *)(psVar1 + 1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(psVar1 + 1)" (( "(") (binary_expression "psVar1 + 1" (identifier "psVar1") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);" (assignment_expression "uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(psVar1[1].sa_data + 6)" (* "*") (cast_expression "(undefined4 *)(psVar1[1].sa_data + 6)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(psVar1[1].sa_data + 6)" (( "(") (binary_expression "psVar1[1].sa_data + 6" (field_expression "psVar1[1].sa_data" (subscript_expression "psVar1[1]" (identifier "psVar1") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "sa_data")) (+ "+") (number_literal "6")) () ")"))))) (; ";")) (expression_statement "puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);" (assignment_expression "puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2)" (subscript_expression "puVar9[4]" (identifier "puVar9") ([ "[") (number_literal "4") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(psVar1[1].sa_data + 2)" (* "*") (cast_expression "(undefined4 *)(psVar1[1].sa_data + 2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(psVar1[1].sa_data + 2)" (( "(") (binary_expression "psVar1[1].sa_data + 2" (field_expression "psVar1[1].sa_data" (subscript_expression "psVar1[1]" (identifier "psVar1") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "sa_data")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "puVar9[5] = uVar7;" (assignment_expression "puVar9[5] = uVar7" (subscript_expression "puVar9[5]" (identifier "puVar9") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar9 = puVar9 + 6;" (assignment_expression "puVar9 = puVar9 + 6" (identifier "puVar9") (= "=") (binary_expression "puVar9 + 6" (identifier "puVar9") (+ "+") (number_literal "6"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(paVar20 != (addrinfo *)0x0)" (( "(") (binary_expression "paVar20 != (addrinfo *)0x0" (identifier "paVar20") (!= "!=") (cast_expression "(addrinfo *)0x0" (( "(") (type_descriptor "addrinfo *" (type_identifier "addrinfo") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (labeled_statement "LAB_0002b8a8:\n        freeaddrinfo(local_58);" (statement_identifier "LAB_0002b8a8") (: ":") (expression_statement "freeaddrinfo(local_58);" (call_expression "freeaddrinfo(local_58)" (identifier "freeaddrinfo") (argument_list "(local_58)" (( "(") (identifier "local_58") () ")"))) (; ";"))) (if_statement "if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }" (if "if") (parenthesized_expression "((1 < *piVar8) && (DAT_000b6c3c != 2))" (( "(") (binary_expression "(1 < *piVar8) && (DAT_000b6c3c != 2)" (parenthesized_expression "(1 < *piVar8)" (( "(") (binary_expression "1 < *piVar8" (number_literal "1") (< "<") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) () ")")) (&& "&&") (parenthesized_expression "(DAT_000b6c3c != 2)" (( "(") (binary_expression "DAT_000b6c3c != 2" (identifier "DAT_000b6c3c") (!= "!=") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n          pcVar15 = FUN_0002b0d0;\n          if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }\n          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);\n        }" ({ "{") (expression_statement "pcVar15 = FUN_0002b0d0;" (assignment_expression "pcVar15 = FUN_0002b0d0" (identifier "pcVar15") (= "=") (identifier "FUN_0002b0d0")) (; ";")) (if_statement "if (DAT_000b6c3c != 0) {\n            pcVar15 = FUN_0002b0f0;\n          }" (if "if") (parenthesized_expression "(DAT_000b6c3c != 0)" (( "(") (binary_expression "DAT_000b6c3c != 0" (identifier "DAT_000b6c3c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            pcVar15 = FUN_0002b0f0;\n          }" ({ "{") (expression_statement "pcVar15 = FUN_0002b0f0;" (assignment_expression "pcVar15 = FUN_0002b0f0" (identifier "pcVar15") (= "=") (identifier "FUN_0002b0f0")) (; ";")) (} "}"))) (expression_statement "FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);" (call_expression "FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15)" (identifier "FUN_00054860") (argument_list "(piVar8[1],*piVar8,0x18,pcVar15)" (( "(") (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (, ",") (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (, ",") (number_literal "0x18") (, ",") (identifier "pcVar15") () ")"))) (; ";")) (} "}"))) (if_statement "if ((char)local_80 != '\0') {\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }" (if "if") (parenthesized_expression "((char)local_80 != '\0')" (( "(") (binary_expression "(char)local_80 != '\0'" (cast_expression "(char)local_80" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_80")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          local_80 = *piVar8;\n          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }\n          FUN_0003daf0(0,"\n");\n        }" ({ "{") (expression_statement "local_80 = *piVar8;" (assignment_expression "local_80 = *piVar8" (identifier "local_80") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (if_statement "if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }\n          else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }" (if "if") (parenthesized_expression "((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4))" (( "(") (binary_expression "(DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)" (parenthesized_expression "(DAT_000b6c4d._1_1_ == '\x01')" (( "(") (binary_expression "DAT_000b6c4d._1_1_ == '\x01'" (field_expression "DAT_000b6c4d._1_1_" (identifier "DAT_000b6c4d") (. ".") (field_identifier "_1_1_")) (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(local_80 < 4)" (( "(") (binary_expression "local_80 < 4" (identifier "local_80") (< "<") (number_literal "4")) () ")"))) () ")")) (compound_statement "{\n            if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }\n          }" ({ "{") (if_statement "if (0 < local_80) {\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }" (if "if") (parenthesized_expression "(0 < local_80)" (( "(") (binary_expression "0 < local_80" (number_literal "0") (< "<") (identifier "local_80")) () ")")) (compound_statement "{\n              iVar14 = local_80 + -1;\n              if (0 < iVar14) goto LAB_0002b927;\n              iVar5 = 0;\n              goto LAB_0002bb53;\n            }" ({ "{") (expression_statement "iVar14 = local_80 + -1;" (assignment_expression "iVar14 = local_80 + -1" (identifier "iVar14") (= "=") (binary_expression "local_80 + -1" (identifier "local_80") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (0 < iVar14) goto LAB_0002b927;" (if "if") (parenthesized_expression "(0 < iVar14)" (( "(") (binary_expression "0 < iVar14" (number_literal "0") (< "<") (identifier "iVar14")) () ")")) (goto_statement "goto LAB_0002b927;" (goto "goto") (statement_identifier "LAB_0002b927") (; ";"))) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0002bb53;" (goto "goto") (statement_identifier "LAB_0002bb53") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }" (else "else") (compound_statement "{\n            local_80 = 3;\n            iVar14 = 2;\nLAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }\n            iVar5 = 0;\n            do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);\n            if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }\n            if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }\n          }" ({ "{") (expression_statement "local_80 = 3;" (assignment_expression "local_80 = 3" (identifier "local_80") (= "=") (number_literal "3")) (; ";")) (expression_statement "iVar14 = 2;" (assignment_expression "iVar14 = 2" (identifier "iVar14") (= "=") (number_literal "2")) (; ";")) (labeled_statement "LAB_0002b927:\n            if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }" (statement_identifier "LAB_0002b927") (: ":") (if_statement "if (local_80 < iVar14) {\n              iVar14 = local_80;\n            }" (if "if") (parenthesized_expression "(local_80 < iVar14)" (( "(") (binary_expression "local_80 < iVar14" (identifier "local_80") (< "<") (identifier "iVar14")) () ")")) (compound_statement "{\n              iVar14 = local_80;\n            }" ({ "{") (expression_statement "iVar14 = local_80;" (assignment_expression "iVar14 = local_80" (identifier "iVar14") (= "=") (identifier "local_80")) (; ";")) (} "}")))) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            } while (iVar5 < iVar14);" (do "do") (compound_statement "{\n              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n              if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }\n              iVar5 = iVar5 + 1;\n              FUN_0003daf0(0,&DAT_000b14a0);\n              FUN_0003daf0(0,&DAT_000862b1);\n            }" ({ "{") (expression_statement "piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);" (assignment_expression "piVar11 = (int *)(piVar8[1] + iVar5 * 0x18)" (identifier "piVar11") (= "=") (cast_expression "(int *)(piVar8[1] + iVar5 * 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8[1] + iVar5 * 0x18)" (( "(") (binary_expression "piVar8[1] + iVar5 * 0x18" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (+ "+") (binary_expression "iVar5 * 0x18" (identifier "iVar5") (* "*") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);" (assignment_expression "pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" (identifier "pcVar4") (= "=") (call_expression "inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" (identifier "inet_ntop") (argument_list "(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" (( "(") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (, ",") (binary_expression "piVar11 + 1" (identifier "piVar11") (+ "+") (number_literal "1")) (, ",") (pointer_expression "&DAT_000b14a0" (& "&") (identifier "DAT_000b14a0")) (, ",") (number_literal "0x40") () ")")))) (; ";")) (if_statement "if (pcVar4 == (char *)0x0) {\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }" (if "if") (parenthesized_expression "(pcVar4 == (char *)0x0)" (( "(") (binary_expression "pcVar4 == (char *)0x0" (identifier "pcVar4") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                piVar11 = __errno_location();\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n              }" ({ "{") (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" (identifier "piVar11") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar7 = FUN_0007a3a0(*piVar11);" (assignment_expression "uVar7 = FUN_0007a3a0(*piVar11)" (identifier "uVar7") (= "=") (call_expression "FUN_0007a3a0(*piVar11)" (identifier "FUN_0007a3a0") (argument_list "(*piVar11)" (( "(") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) () ")")))) (; ";")) (expression_statement "__snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);" (call_expression "__snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7)" (identifier "__snprintf_chk") (argument_list "(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7)" (( "(") (pointer_expression "&DAT_000b14a0" (& "&") (identifier "DAT_000b14a0")) (, ",") (number_literal "0x40") (, ",") (number_literal "1") (, ",") (number_literal "0x40") (, ",") (string_literal ""<error: %s>"" (" """) (string_content "<error: %s>") (" """)) (, ",") (identifier "uVar7") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" (identifier "iVar5") (= "=") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_0003daf0(0,&DAT_000b14a0);" (call_expression "FUN_0003daf0(0,&DAT_000b14a0)" (identifier "FUN_0003daf0") (argument_list "(0,&DAT_000b14a0)" (( "(") (number_literal "0") (, ",") (pointer_expression "&DAT_000b14a0" (& "&") (identifier "DAT_000b14a0")) () ")"))) (; ";")) (expression_statement "FUN_0003daf0(0,&DAT_000862b1);" (call_expression "FUN_0003daf0(0,&DAT_000862b1)" (identifier "FUN_0003daf0") (argument_list "(0,&DAT_000862b1)" (( "(") (number_literal "0") (, ",") (pointer_expression "&DAT_000862b1" (& "&") (identifier "DAT_000862b1")) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar5 < iVar14)" (( "(") (binary_expression "iVar5 < iVar14" (identifier "iVar5") (< "<") (identifier "iVar14")) () ")")) (; ";")) (if_statement "if (iVar5 < local_80) {\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }" (if "if") (parenthesized_expression "(iVar5 < local_80)" (( "(") (binary_expression "iVar5 < local_80" (identifier "iVar5") (< "<") (identifier "local_80")) () ")")) (compound_statement "{\nLAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);\n            }" ({ "{") (labeled_statement "LAB_0002bb53:\n              do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);" (statement_identifier "LAB_0002bb53") (: ":") (do_statement "do {\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              } while (iVar5 < local_80);" (do "do") (compound_statement "{\n                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);\n                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);\n                if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }\n                iVar5 = iVar5 + 1;\n                FUN_0003daf0(0,&DAT_000b14a0);\n              }" ({ "{") (expression_statement "piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);" (assignment_expression "piVar11 = (int *)(piVar8[1] + iVar5 * 0x18)" (identifier "piVar11") (= "=") (cast_expression "(int *)(piVar8[1] + iVar5 * 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8[1] + iVar5 * 0x18)" (( "(") (binary_expression "piVar8[1] + iVar5 * 0x18" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (+ "+") (binary_expression "iVar5 * 0x18" (identifier "iVar5") (* "*") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);" (assignment_expression "pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" (identifier "pcVar4") (= "=") (call_expression "inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" (identifier "inet_ntop") (argument_list "(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" (( "(") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (, ",") (binary_expression "piVar11 + 1" (identifier "piVar11") (+ "+") (number_literal "1")) (, ",") (pointer_expression "&DAT_000b14a0" (& "&") (identifier "DAT_000b14a0")) (, ",") (number_literal "0x40") () ")")))) (; ";")) (if_statement "if (pcVar4 == (char *)0x0) {\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }" (if "if") (parenthesized_expression "(pcVar4 == (char *)0x0)" (( "(") (binary_expression "pcVar4 == (char *)0x0" (identifier "pcVar4") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  piVar11 = __errno_location();\n                  uVar7 = FUN_0007a3a0(*piVar11);\n                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                }" ({ "{") (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" (identifier "piVar11") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar7 = FUN_0007a3a0(*piVar11);" (assignment_expression "uVar7 = FUN_0007a3a0(*piVar11)" (identifier "uVar7") (= "=") (call_expression "FUN_0007a3a0(*piVar11)" (identifier "FUN_0007a3a0") (argument_list "(*piVar11)" (( "(") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) () ")")))) (; ";")) (expression_statement "__snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);" (call_expression "__snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7)" (identifier "__snprintf_chk") (argument_list "(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7)" (( "(") (pointer_expression "&DAT_000b14a0" (& "&") (identifier "DAT_000b14a0")) (, ",") (number_literal "0x40") (, ",") (number_literal "1") (, ",") (number_literal "0x40") (, ",") (string_literal ""<error: %s>"" (" """) (string_content "<error: %s>") (" """)) (, ",") (identifier "uVar7") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" (identifier "iVar5") (= "=") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_0003daf0(0,&DAT_000b14a0);" (call_expression "FUN_0003daf0(0,&DAT_000b14a0)" (identifier "FUN_0003daf0") (argument_list "(0,&DAT_000b14a0)" (( "(") (number_literal "0") (, ",") (pointer_expression "&DAT_000b14a0" (& "&") (identifier "DAT_000b14a0")) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar5 < local_80)" (( "(") (binary_expression "iVar5 < local_80" (identifier "iVar5") (< "<") (identifier "local_80")) () ")")) (; ";"))) (} "}"))) (if_statement "if (*piVar8 != local_80) {\n              FUN_0003daf0(0,&DAT_000862b4);\n            }" (if "if") (parenthesized_expression "(*piVar8 != local_80)" (( "(") (binary_expression "*piVar8 != local_80" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (!= "!=") (identifier "local_80")) () ")")) (compound_statement "{\n              FUN_0003daf0(0,&DAT_000862b4);\n            }" ({ "{") (expression_statement "FUN_0003daf0(0,&DAT_000862b4);" (call_expression "FUN_0003daf0(0,&DAT_000862b4)" (identifier "FUN_0003daf0") (argument_list "(0,&DAT_000862b4)" (( "(") (number_literal "0") (, ",") (pointer_expression "&DAT_000862b4" (& "&") (identifier "DAT_000862b4")) () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "FUN_0003daf0(0,"\n");" (call_expression "FUN_0003daf0(0,"\n")" (identifier "FUN_0003daf0") (argument_list "(0,"\n")" (( "(") (number_literal "0") (, ",") (string_literal ""\n"" (" """) (escape_sequence "\n") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (local_65 != '\0') {\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }" (if "if") (parenthesized_expression "(local_65 != '\0')" (( "(") (binary_expression "local_65 != '\0'" (identifier "local_65") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }\n          piVar8[4] = piVar8[4] + 1;\n          uVar7 = FUN_0004f740(param_1);\n          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);\n          if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }\n        }" ({ "{") (if_statement "if (DAT_000b14e0 == 0) {\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }" (if "if") (parenthesized_expression "(DAT_000b14e0 == 0)" (( "(") (binary_expression "DAT_000b14e0 == 0" (identifier "DAT_000b14e0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            DAT_000b14e0 = FUN_0002aff0(0);\n          }" ({ "{") (expression_statement "DAT_000b14e0 = FUN_0002aff0(0);" (assignment_expression "DAT_000b14e0 = FUN_0002aff0(0)" (identifier "DAT_000b14e0") (= "=") (call_expression "FUN_0002aff0(0)" (identifier "FUN_0002aff0") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (} "}"))) (expression_statement "piVar8[4] = piVar8[4] + 1;" (assignment_expression "piVar8[4] = piVar8[4] + 1" (subscript_expression "piVar8[4]" (identifier "piVar8") ([ "[") (number_literal "4") (] "]")) (= "=") (binary_expression "piVar8[4] + 1" (subscript_expression "piVar8[4]" (identifier "piVar8") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar7 = FUN_0004f740(param_1);" (assignment_expression "uVar7 = FUN_0004f740(param_1)" (identifier "uVar7") (= "=") (call_expression "FUN_0004f740(param_1)" (identifier "FUN_0004f740") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);" (call_expression "FUN_0002aa50(DAT_000b14e0,uVar7,piVar8)" (identifier "FUN_0002aa50") (argument_list "(DAT_000b14e0,uVar7,piVar8)" (( "(") (identifier "DAT_000b14e0") (, ",") (identifier "uVar7") (, ",") (identifier "piVar8") () ")"))) (; ";")) (if_statement "if (DAT_000b6b9b != '\0') {\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }" (if "if") (parenthesized_expression "(DAT_000b6b9b != '\0')" (( "(") (binary_expression "DAT_000b6b9b != '\0'" (identifier "DAT_000b6b9b") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            FUN_0003e2e0("Caching %s =>",param_1);\n            if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }\nLAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);\n          }" ({ "{") (expression_statement "FUN_0003e2e0("Caching %s =>",param_1);" (call_expression "FUN_0003e2e0("Caching %s =>",param_1)" (identifier "FUN_0003e2e0") (argument_list "("Caching %s =>",param_1)" (( "(") (string_literal ""Caching %s =>"" (" """) (string_content "Caching %s =>") (" """)) (, ",") (identifier "param_1") () ")"))) (; ";")) (if_statement "if (0 < *piVar8) {\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }" (if "if") (parenthesized_expression "(0 < *piVar8)" (( "(") (binary_expression "0 < *piVar8" (number_literal "0") (< "<") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) () ")")) (compound_statement "{\n              iVar14 = 0;\n              do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);\n            }" ({ "{") (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              } while (iVar14 < *piVar8);" (do "do") (compound_statement "{\n                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }\n                piVar11 = __errno_location();\n                iVar14 = iVar14 + 1;\n                uVar7 = FUN_0007a3a0(*piVar11);\n                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);\n                FUN_0003e2e0(" %s",&DAT_000b14a0);\n              }" ({ "{") (while_statement "while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }" (while "while") (parenthesized_expression "(piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0)" (( "(") (comma_expression "piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),\n                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0" (assignment_expression "piVar11 = (int *)(piVar8[1] + iVar14 * 0x18)" (identifier "piVar11") (= "=") (cast_expression "(int *)(piVar8[1] + iVar14 * 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8[1] + iVar14 * 0x18)" (( "(") (binary_expression "piVar8[1] + iVar14 * 0x18" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (+ "+") (binary_expression "iVar14 * 0x18" (identifier "iVar14") (* "*") (number_literal "0x18"))) () ")")))) (, ",") (comma_expression "pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),\n                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0" (assignment_expression "pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" (identifier "pcVar4") (= "=") (call_expression "inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" (identifier "inet_ntop") (argument_list "(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40)" (( "(") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (, ",") (binary_expression "piVar11 + 1" (identifier "piVar11") (+ "+") (number_literal "1")) (, ",") (pointer_expression "&DAT_000b14a0" (& "&") (identifier "DAT_000b14a0")) (, ",") (number_literal "0x40") () ")")))) (, ",") (comma_expression "param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0" (assignment_expression "param_1 = &DAT_000b14a0" (identifier "param_1") (= "=") (pointer_expression "&DAT_000b14a0" (& "&") (identifier "DAT_000b14a0"))) (, ",") (binary_expression "pcVar4 != (char *)0x0" (identifier "pcVar4") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))))) () ")")) (compound_statement "{\n                  iVar14 = iVar14 + 1;\n                  FUN_0003e2e0(" %s",&DAT_000b14a0);\n                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;\n                }" ({ "{") (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + 1" (identifier "iVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_0003e2e0(" %s",&DAT_000b14a0);" (call_expression "FUN_0003e2e0(" %s",&DAT_000b14a0)" (identifier "FUN_0003e2e0") (argument_list "(" %s",&DAT_000b14a0)" (( "(") (string_literal "" %s"" (" """) (string_content " %s") (" """)) (, ",") (pointer_expression "&DAT_000b14a0" (& "&") (identifier "DAT_000b14a0")) () ")"))) (; ";")) (if_statement "if (*piVar8 <= iVar14) goto LAB_0002bc5a;" (if "if") (parenthesized_expression "(*piVar8 <= iVar14)" (( "(") (binary_expression "*piVar8 <= iVar14" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (<= "<=") (identifier "iVar14")) () ")")) (goto_statement "goto LAB_0002bc5a;" (goto "goto") (statement_identifier "LAB_0002bc5a") (; ";"))) (} "}"))) (expression_statement "piVar11 = __errno_location();" (assignment_expression "piVar11 = __errno_location()" (identifier "piVar11") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + 1" (identifier "iVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar7 = FUN_0007a3a0(*piVar11);" (assignment_expression "uVar7 = FUN_0007a3a0(*piVar11)" (identifier "uVar7") (= "=") (call_expression "FUN_0007a3a0(*piVar11)" (identifier "FUN_0007a3a0") (argument_list "(*piVar11)" (( "(") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) () ")")))) (; ";")) (expression_statement "__snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);" (call_expression "__snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7)" (identifier "__snprintf_chk") (argument_list "(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7)" (( "(") (pointer_expression "&DAT_000b14a0" (& "&") (identifier "DAT_000b14a0")) (, ",") (number_literal "0x40") (, ",") (number_literal "1") (, ",") (number_literal "0x40") (, ",") (string_literal ""<error: %s>"" (" """) (string_content "<error: %s>") (" """)) (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "FUN_0003e2e0(" %s",&DAT_000b14a0);" (call_expression "FUN_0003e2e0(" %s",&DAT_000b14a0)" (identifier "FUN_0003e2e0") (argument_list "(" %s",&DAT_000b14a0)" (( "(") (string_literal "" %s"" (" """) (string_content " %s") (" """)) (, ",") (pointer_expression "&DAT_000b14a0" (& "&") (identifier "DAT_000b14a0")) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar14 < *piVar8)" (( "(") (binary_expression "iVar14 < *piVar8" (identifier "iVar14") (< "<") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0002bc5a:\n            FUN_0003e2e0("\n",param_1);" (statement_identifier "LAB_0002bc5a") (: ":") (expression_statement "FUN_0003e2e0("\n",param_1);" (call_expression "FUN_0003e2e0("\n",param_1)" (identifier "FUN_0003e2e0") (argument_list "("\n",param_1)" (( "(") (string_literal ""\n"" (" """) (escape_sequence "\n") (" """)) (, ",") (identifier "param_1") () ")"))) (; ";"))) (} "}"))) (} "}"))) (goto_statement "goto LAB_0002bafc;" (goto "goto") (statement_identifier "LAB_0002bafc") (; ";")) (} "}"))) (expression_statement "local_64 = uVar18;" (assignment_expression "local_64 = uVar18" (identifier "local_64") (= "=") (identifier "uVar18")) (; ";")) (if_statement "if (uVar18 == 0) goto LAB_0002bce8;" (if "if") (parenthesized_expression "(uVar18 == 0)" (( "(") (binary_expression "uVar18 == 0" (identifier "uVar18") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0002bce8;" (goto "goto") (statement_identifier "LAB_0002bce8") (; ";"))) (} "}")) (else_clause "else if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }" (else "else") (if_statement "if (uVar18 == 0) {\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }" (if "if") (parenthesized_expression "(uVar18 == 0)" (( "(") (binary_expression "uVar18 == 0" (identifier "uVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }\nLAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);\n      goto LAB_0002bcf9;\n    }" ({ "{") (if_statement "if (local_44 == 0xfffffff5) {\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }" (if "if") (parenthesized_expression "(local_44 == 0xfffffff5)" (( "(") (binary_expression "local_44 == 0xfffffff5" (identifier "local_44") (== "==") (number_literal "0xfffffff5")) () ")")) (compound_statement "{\n        piVar8 = __errno_location();\n        iVar14 = *piVar8;\n        goto LAB_0002bcca;\n      }" ({ "{") (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" (identifier "piVar8") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar14 = *piVar8;" (assignment_expression "iVar14 = *piVar8" (identifier "iVar14") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (goto_statement "goto LAB_0002bcca;" (goto "goto") (statement_identifier "LAB_0002bcca") (; ";")) (} "}"))) (labeled_statement "LAB_0002bce8:\n      pcVar4 = gai_strerror(local_64);" (statement_identifier "LAB_0002bce8") (: ":") (expression_statement "pcVar4 = gai_strerror(local_64);" (assignment_expression "pcVar4 = gai_strerror(local_64)" (identifier "pcVar4") (= "=") (call_expression "gai_strerror(local_64)" (identifier "gai_strerror") (argument_list "(local_64)" (( "(") (identifier "local_64") () ")")))) (; ";"))) (goto_statement "goto LAB_0002bcf9;" (goto "goto") (statement_identifier "LAB_0002bcf9") (; ";")) (} "}"))))) (} "}")) (else_clause "else {\n    piVar8 = __errno_location();\n    *piVar8 = 0x6e;\n    if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }\n  }" (else "else") (compound_statement "{\n    piVar8 = __errno_location();\n    *piVar8 = 0x6e;\n    if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }\n  }" ({ "{") (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" (identifier "piVar8") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*piVar8 = 0x6e;" (assignment_expression "*piVar8 = 0x6e" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (number_literal "0x6e")) (; ";")) (if_statement "if (uVar18 == 0) {\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }" (if "if") (parenthesized_expression "(uVar18 == 0)" (( "(") (binary_expression "uVar18 == 0" (identifier "uVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar14 = 0x6e;\nLAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);\nLAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);\n      FUN_0003df30(0,uVar7,pcVar4);\n    }" ({ "{") (expression_statement "iVar14 = 0x6e;" (assignment_expression "iVar14 = 0x6e" (identifier "iVar14") (= "=") (number_literal "0x6e")) (; ";")) (labeled_statement "LAB_0002bcca:\n      pcVar4 = (char *)FUN_0007a3a0(iVar14);" (statement_identifier "LAB_0002bcca") (: ":") (expression_statement "pcVar4 = (char *)FUN_0007a3a0(iVar14);" (assignment_expression "pcVar4 = (char *)FUN_0007a3a0(iVar14)" (identifier "pcVar4") (= "=") (cast_expression "(char *)FUN_0007a3a0(iVar14)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0007a3a0(iVar14)" (identifier "FUN_0007a3a0") (argument_list "(iVar14)" (( "(") (identifier "iVar14") () ")"))))) (; ";"))) (labeled_statement "LAB_0002bcf9:\n      uVar7 = dcgettext(0,"failed: %s.\n",5);" (statement_identifier "LAB_0002bcf9") (: ":") (expression_statement "uVar7 = dcgettext(0,"failed: %s.\n",5);" (assignment_expression "uVar7 = dcgettext(0,"failed: %s.\n",5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,"failed: %s.\n",5)" (identifier "dcgettext") (argument_list "(0,"failed: %s.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""failed: %s.\n"" (" """) (string_content "failed: %s.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_0003df30(0,uVar7,pcVar4);" (call_expression "FUN_0003df30(0,uVar7,pcVar4)" (identifier "FUN_0003df30") (argument_list "(0,uVar7,pcVar4)" (( "(") (number_literal "0") (, ",") (identifier "uVar7") (, ",") (identifier "pcVar4") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "piVar8 = (int *)0x0;" (assignment_expression "piVar8 = (int *)0x0" (identifier "piVar8") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_0002bafc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0007ad20();\n  }" (statement_identifier "LAB_0002bafc") (: ":") (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0007ad20();\n  }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    FUN_0007ad20();\n  }" ({ "{") (expression_statement "FUN_0007ad20();" (call_expression "FUN_0007ad20()" (identifier "FUN_0007ad20") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return piVar8;" (return "return") (identifier "piVar8") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

type_1 * function_1(char *var_4,int var_2)

{
  int var_52;
  type_2 *var_39;
  type_3 var_27;
  size_t var_5;
  char *var_6;
  int var_10;
  type_4 var_26;
  type_1 *var_16;
  type_5 *var_37;
  type_5 *piVar9;
  int *piVar10;
  char *var_7;
  void *var_18;
  int var_12;
  type_6 *cmpfun;
  type_4 var_8;
  type_7 *var_33;
  type_4 var_30;
  char *var_11;
  type_7 *var_38;
  int var_1;
  bool var_9;
  int var_43;
  double local_74;
  char var_47;
  type_4 local_64;
  type_7 *var_32;
  type_8 ctx;
  type_7 hints;
  
  var_52 = *(int *)(var_1 + 0x14);
  local_74 = opt.dns_timeout;
  var_30 = var_2 & 1;
  var_5 = var_3(var_4);
  var_6 = var_4 + var_5;
  if (var_4 < var_6) {
    var_10 = 0;
    var_9 = false;
    var_12 = 0;
    var_7 = var_4;
    do {
      while( true ) {
        var_11 = var_7 + 1;
        var_8 = (int)*var_7 - 0x30;
        if (var_8 < 10) break;
        var_9 = (bool)(var_9 & *var_7 == 0x2e ^ 1U | var_10 == 4);
        if (var_9) goto LAB_0002b710;
        var_12 = 0;
        var_7 = var_11;
        if (var_6 == var_11) goto LAB_0002b6f2;
      }
      var_12 = var_8 + var_12 * 10;
      if (0xff < var_12) goto LAB_0002b710;
      if (!var_9) {
        var_10 = var_10 + 1;
        if (4 < var_10) goto LAB_0002b710;
        var_9 = true;
      }
      var_7 = var_11;
    } while (var_6 != var_11);
LAB_0002b6f2:
    if (var_10 < 4) goto LAB_0002b710;
    var_27 = true;
    var_47 = '\0';
    var_43._0_1_ = '\0';
  }
  else {
LAB_0002b710:
    var_27 = var_13(var_4,var_6);
    if (var_27) {
      var_47 = '\0';
      var_43._0_1_ = '\0';
    }
    else {
      var_47 = opt.dns_cache;
      if ((var_2 & 2U) == 0) {
        if (opt.dns_cache != false) {
          if ((var_2 & 4U) == 0) {
            if ((var_14 != (type_9 *)0x0) &&
               (var_16 = (type_1 *)var_15(var_14,var_4),
               var_16 != (type_1 *)0x0)) {
              if (opt.debug != false) {
                var_17("Found %s in host_name_addresses_map (%p)\n",var_4,var_16);
              }
              var_16->refcount = var_16->refcount + 1;
              goto LAB_0002bafc;
            }
          }
          else if ((var_14 != (type_9 *)0x0) &&
                  (var_18 = var_15(var_14,var_4), var_18 != (void *)0x0)) {
            var_12 = *(int *)((int)var_18 + 0x10) + -1;
            var_9 = opt.debug == false;
            *(int *)((int)var_18 + 0x10) = var_12;
            if (var_9) {
              if (var_12 < 1) {
LAB_0002bed2:
                var_19(*(void **)((int)var_18 + 4));
                var_19(var_18);
              }
            }
            else {
              var_17("Releasing 0x%0*lx (new refcount %d).\n",8,var_18,var_12);
              if (*(int *)((int)var_18 + 0x10) < 1) {
                if (opt.debug != false) {
                  var_17("Deleting unused 0x%0*lx.\n",8,var_18,var_8);
                }
                goto LAB_0002bed2;
              }
            }
            var_20(var_14,var_4);
          }
        }
      }
      else {
        var_47 = '\0';
      }
      var_43._0_1_ = (char)(~var_2 & 1U);
      if ((~var_2 & 1U) == 0) {
        var_27 = false;
      }
      else {
        var_6 = var_4;
        if ((opt.enable_iri == false) || (var_7 = var_21(var_4), var_7 == (char *)0x0)) {
          var_11 = (char *)0x0;
        }
        else {
          var_11 = var_22("%s (%s)",var_7,var_4);
          var_19(var_7);
          if (var_11 != (char *)0x0) {
            var_6 = var_11;
          }
        }
        var_6 = var_23(escape_quoting_style,var_6);
        var_7 = (char *)var_24(0,"Resolving %s... ",5);
        var_25(LOG_VERBOSE,var_7,var_6);
        var_19(var_11);
      }
    }
  }
  ctx.hints = &hints;
  var_26 = 0;
  do {
    *(type_10 *)((int)&(ctx.hints)->ai_flags + var_26) = 0;
    var_26 = var_26 + 4;
  } while (var_26 < 0x20);
  hints.ai_socktype = 1;
  if (opt.ipv4_only == false) {
    if (opt.ipv6_only != false) {
      hints.ai_family = 10;
    }
  }
  else {
    hints.ai_family = 2;
  }
  var_12 = 4;
  if ((var_2 & 2U) != 0) {
    hints.ai_flags = 1;
    var_12 = 5;
  }
  if (var_27 != false) {
    local_74 = 0.0;
    hints.ai_flags = var_12;
  }
  ctx.service = (char *)0x0;
  ctx.node = var_4;
  ctx.var_32 = &var_32;
  var_27 = var_28(local_74,getaddrinfo_with_timeout_callback,&ctx);
  var_38 = var_32;
  if (var_27) {
    piVar10 = var_29();
    *piVar10 = 0x6e;
    if (var_30 == 0) {
      var_12 = 0x6e;
LAB_0002bcca:
      var_6 = var_31(var_12);
LAB_0002bcf9:
      var_7 = (char *)var_24(0,"failed: %s.\n",5);
      var_25(LOG_VERBOSE,var_7,var_6);
    }
  }
  else {
    local_64 = ctx.exit_code;
    if (ctx.exit_code == 0) {
      if (var_32 != (type_7 *)0x0) {
        var_12 = 0;
        var_33 = var_32;
        do {
          piVar10 = &var_33->ai_family;
          var_33 = var_33->ai_next;
          var_12 = var_12 + (type_4)((*piVar10 & 0xfffffff7U) == 2);
        } while (var_33 != (type_7 *)0x0);
        if (var_12 == 0) {
          var_34((type_7 *)var_32);
          var_6 = (char *)var_24(0,"failed: No IPv4/IPv6 addresses for host.\n",5);
          var_25(LOG_VERBOSE,var_6);
          var_16 = (type_1 *)0x0;
          goto LAB_0002bafc;
        }
        var_16 = (type_1 *)var_35(1,0x14);
        var_37 = (type_5 *)var_36(var_12 * 0x18);
        var_16->count = var_12;
        var_16->addresses = var_37;
        var_16->refcount = 1;
        do {
          while (var_38->ai_family != 10) {
            piVar9 = var_37;
            if (var_38->ai_family == 2) {
              var_39 = var_38->ai_addr;
              piVar9 = var_37 + 1;
              var_37->family = 2;
              (var_37->data).d4.s_addr = *(type_11 *)(var_39->sa_data + 2);
            }
            var_38 = var_38->ai_next;
            var_37 = piVar9;
            if (var_38 == (type_7 *)0x0) goto LAB_0002b8a8;
          }
          var_39 = var_38->ai_addr;
          var_38 = var_38->ai_next;
          var_37->family = 10;
          (var_37->data).d4.s_addr = *(type_11 *)(var_39->sa_data + 6);
          *(type_10 *)((int)&var_37->data + 4) = *(type_10 *)(var_39->sa_data + 10);
          *(type_10 *)((int)&var_37->data + 8) = *(type_10 *)(var_39 + 1);
          var_12 = *(int *)(var_39[1].sa_data + 6);
          *(type_10 *)((int)&var_37->data + 0xc) = *(type_10 *)(var_39[1].sa_data + 2);
          var_37->ipv6_scope = var_12;
          var_37 = var_37 + 1;
        } while (var_38 != (type_7 *)0x0);
LAB_0002b8a8:
        var_34((type_7 *)var_32);
        if ((1 < var_16->count) && (opt.prefer_family != var_40)) {
          cmpfun = cmp_prefer_ipv4;
          if (opt.prefer_family != var_41) {
            cmpfun = cmp_prefer_ipv6;
          }
          var_42(var_16->addresses,var_16->count,0x18,cmpfun);
        }
        if ((char)var_43 != '\0') {
          var_43 = var_16->count;
          if ((opt.show_all_dns_entries == true) || (var_43 < 4)) {
            if (0 < var_43) {
              var_12 = var_43 + -1;
              if (0 < var_12) goto LAB_0002b927;
              var_10 = 0;
              goto LAB_0002bb53;
            }
          }
          else {
            var_43 = 3;
            var_12 = 2;
LAB_0002b927:
            if (var_43 < var_12) {
              var_12 = var_43;
            }
            var_10 = 0;
            do {
              var_6 = var_44(var_16->addresses[var_10].family,&var_16->addresses[var_10].data,
                                 buf_6806,0x40);
              if (var_6 == (char *)0x0) {
                piVar10 = var_29();
                var_6 = var_31(*piVar10);
                var_45(buf_6806,0x40,1,0x40,"<error: %s>",var_6);
              }
              var_10 = var_10 + 1;
              var_46(LOG_VERBOSE,buf_6806);
              var_46(LOG_VERBOSE,", ");
            } while (var_10 < var_12);
            if (var_10 < var_43) {
LAB_0002bb53:
              do {
                var_6 = var_44(var_16->addresses[var_10].family,&var_16->addresses[var_10].data,
                                   buf_6806,0x40);
                if (var_6 == (char *)0x0) {
                  piVar10 = var_29();
                  var_6 = var_31(*piVar10);
                  var_45(buf_6806,0x40,1,0x40,"<error: %s>",var_6);
                }
                var_10 = var_10 + 1;
                var_46(LOG_VERBOSE,buf_6806);
              } while (var_10 < var_43);
            }
            if (var_16->count != var_43) {
              var_46(LOG_VERBOSE,", ...");
            }
          }
          var_46(LOG_VERBOSE,"\n");
        }
        if (var_47 != '\0') {
          if (var_14 == (type_9 *)0x0) {
            var_14 = var_48(0);
          }
          var_16->refcount = var_16->refcount + 1;
          var_6 = var_49(var_4);
          var_50(var_14,var_6,var_16);
          if (opt.debug != false) {
            var_17("Caching %s =>",var_4);
            if (0 < var_16->count) {
              var_12 = 0;
              do {
                while (var_6 = var_44(var_16->addresses[var_12].family,
                                          &var_16->addresses[var_12].data,buf_6806,0x40),
                      var_4 = buf_6806, var_6 != (char *)0x0) {
                  var_12 = var_12 + 1;
                  var_17(" %s",buf_6806);
                  if (var_16->count <= var_12) goto LAB_0002bc5a;
                }
                piVar10 = var_29();
                var_12 = var_12 + 1;
                var_6 = var_31(*piVar10);
                var_45(buf_6806,0x40,1,0x40,"<error: %s>",var_6);
                var_17(" %s",buf_6806);
              } while (var_12 < var_16->count);
            }
LAB_0002bc5a:
            var_17("\n",var_4);
          }
        }
        goto LAB_0002bafc;
      }
      local_64 = var_30;
      if (var_30 == 0) goto LAB_0002bce8;
    }
    else if (var_30 == 0) {
      if (ctx.exit_code == -0xb) {
        piVar10 = var_29();
        var_12 = *piVar10;
        goto LAB_0002bcca;
      }
LAB_0002bce8:
      var_6 = var_51(local_64);
      goto LAB_0002bcf9;
    }
  }
  var_16 = (type_1 *)0x0;
LAB_0002bafc:
  if (var_52 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_53();
  }
  return var_16;
}


(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (true))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (char_literal (escape_sequence))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence)) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence)) (number_literal) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence)) (number_literal) (identifier) (identifier)))))) (goto_statement label: (statement_identifier))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (identifier) (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (char_literal (escape_sequence)))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (field_expression argument: (identifier) field: (field_identifier)) (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (number_literal)))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (identifier)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (pointer_expression argument: (identifier)) (number_literal) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (identifier)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal) (string_literal (string_content)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (identifier)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal) (string_literal (string_content)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (identifier)))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (escape_sequence))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (identifier)) (number_literal)))) right: (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal) (string_literal (string_content)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (pointer_expression argument: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (escape_sequence)) (identifier))))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (goto_statement label: (statement_identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) (return_statement (identifier)))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int * MASKED(char *param_1,uint param_2)

{
  sockaddr *psVar1;
  char cVar2;
  size_t sVar3;
  char *pcVar4;
  int iVar5;
  uint uVar6;
  undefined4 uVar7;
  int *piVar8;
  undefined4 *puVar9;
  undefined4 *puVar10;
  int *piVar11;
  undefined4 uVar12;
  void *pvVar13;
  int iVar14;
  code *pcVar15;
  uint unaff_EBP;
  addrinfo *paVar16;
  char *pcVar17;
  uint uVar18;
  char *pcVar19;
  addrinfo *paVar20;
  int in_GS_OFFSET;
  bool bVar21;
  int local_80;
  undefined8 local_74;
  char local_65;
  uint local_64;
  addrinfo *local_58;
  char *local_54;
  undefined4 local_50;
  undefined4 *local_4c;
  addrinfo **local_48;
  uint local_44;
  undefined4 local_40 [8];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x2b629;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_74 = DAT_000b6b60;
  uVar18 = param_2 & 1;
  sVar3 = strlen(param_1);
  pcVar4 = param_1 + sVar3;
  if (param_1 < pcVar4) {
    iVar5 = 0;
    bVar21 = false;
    iVar14 = 0;
    pcVar17 = param_1;
    do {
      while( true ) {
        pcVar19 = pcVar17 + 1;
        unaff_EBP = (int)*pcVar17 - 0x30;
        if (unaff_EBP < 10) break;
        bVar21 = (bool)(bVar21 & *pcVar17 == 0x2e ^ 1U | iVar5 == 4);
        if (bVar21) goto LAB_0002b710;
        iVar14 = 0;
        pcVar17 = pcVar19;
        if (pcVar4 == pcVar19) goto LAB_0002b6f2;
      }
      iVar14 = unaff_EBP + iVar14 * 10;
      if (0xff < iVar14) goto LAB_0002b710;
      if (!bVar21) {
        iVar5 = iVar5 + 1;
        if (4 < iVar5) goto LAB_0002b710;
        bVar21 = true;
      }
      pcVar17 = pcVar19;
    } while (pcVar4 != pcVar19);
LAB_0002b6f2:
    if (iVar5 < 4) goto LAB_0002b710;
    cVar2 = '\x01';
    local_65 = '\0';
    local_80._0_1_ = '\0';
  }
  else {
LAB_0002b710:
    cVar2 = FUN_0002b3f0(param_1,pcVar4);
    if (cVar2 == '\0') {
      local_65 = DAT_000b6ac4;
      if ((param_2 & 2) == 0) {
        if (DAT_000b6ac4 != '\0') {
          if ((param_2 & 4) == 0) {
            if ((DAT_000b14e0 != 0) &&
               (piVar8 = (int *)FUN_0002a8d0(DAT_000b14e0,param_1), piVar8 != (int *)0x0)) {
              if (DAT_000b6b9b != '\0') {
                FUN_0003e2e0("Found %s in host_name_addresses_map (%p)\n",param_1,piVar8);
              }
              piVar8[4] = piVar8[4] + 1;
              goto LAB_0002bafc;
            }
          }
          else if ((DAT_000b14e0 != 0) &&
                  (pvVar13 = (void *)FUN_0002a8d0(DAT_000b14e0,param_1), pvVar13 != (void *)0x0)) {
            iVar14 = *(int *)((int)pvVar13 + 0x10) + -1;
            bVar21 = DAT_000b6b9b == '\0';
            *(int *)((int)pvVar13 + 0x10) = iVar14;
            if (bVar21) {
              if (iVar14 < 1) {
LAB_0002bed2:
                free(*(void **)((int)pvVar13 + 4));
                free(pvVar13);
              }
            }
            else {
              FUN_0003e2e0("Releasing 0x%0*lx (new refcount %d).\n",8,pvVar13,iVar14);
              if (*(int *)((int)pvVar13 + 0x10) < 1) {
                if (DAT_000b6b9b != '\0') {
                  FUN_0003e2e0("Deleting unused 0x%0*lx.\n",8,pvVar13,unaff_EBP);
                }
                goto LAB_0002bed2;
              }
            }
            FUN_0002acb0(DAT_000b14e0,param_1);
          }
        }
      }
      else {
        local_65 = '\0';
      }
      local_80._0_1_ = (char)(~param_2 & 1);
      if ((~param_2 & 1) == 0) {
        cVar2 = '\0';
      }
      else {
        pcVar4 = param_1;
        if ((DAT_000b6c42 == '\0') ||
           (pvVar13 = (void *)FUN_000557a0(param_1), pvVar13 == (void *)0x0)) {
          pcVar17 = (char *)0x0;
        }
        else {
          pcVar17 = (char *)FUN_0004fa20("%s (%s)",pvVar13,param_1);
          free(pvVar13);
          if (pcVar17 != (char *)0x0) {
            pcVar4 = pcVar17;
          }
        }
        uVar7 = FUN_00061a80(7,pcVar4);
        uVar12 = dcgettext(0,"Resolving %s... ",5);
        FUN_0003df30(0,uVar12,uVar7);
        free(pcVar17);
      }
    }
    else {
      local_65 = '\0';
      local_80._0_1_ = '\0';
    }
  }
  local_4c = local_40;
  uVar6 = 0;
  do {
    *(undefined4 *)((int)local_4c + uVar6) = 0;
    uVar6 = uVar6 + 4;
  } while (uVar6 < 0x20);
  local_40[2] = 1;
  if (DAT_000b6c3a == '\0') {
    if (DAT_000b6c3b != '\0') {
      local_40[1] = 10;
    }
  }
  else {
    local_40[1] = 2;
  }
  uVar7 = 4;
  if ((param_2 & 2) != 0) {
    local_40[0] = 1;
    uVar7 = 5;
  }
  if (cVar2 != '\0') {
    local_74 = 0;
    local_40[0] = uVar7;
  }
  local_50 = 0;
  local_54 = param_1;
  local_48 = &local_58;
  cVar2 = FUN_00053f80((undefined4)local_74,local_74._4_4_,FUN_0002b110,&local_54);
  paVar20 = local_58;
  if (cVar2 == '\0') {
    local_64 = local_44;
    if (local_44 == 0) {
      if (local_58 != (addrinfo *)0x0) {
        iVar14 = 0;
        paVar16 = local_58;
        do {
          piVar8 = &paVar16->ai_family;
          paVar16 = paVar16->ai_next;
          iVar14 = iVar14 + (uint)((*piVar8 & 0xfffffff7U) == 2);
        } while (paVar16 != (addrinfo *)0x0);
        if (iVar14 == 0) {
          freeaddrinfo(local_58);
          uVar7 = dcgettext(0,"failed: No IPv4/IPv6 addresses for host.\n",5);
          FUN_0003df30(0,uVar7);
          piVar8 = (int *)0x0;
          goto LAB_0002bafc;
        }
        piVar8 = (int *)FUN_00062f90(1,0x14);
        puVar9 = (undefined4 *)FUN_00062e50(iVar14 * 0x18);
        *piVar8 = iVar14;
        piVar8[1] = (int)puVar9;
        piVar8[4] = 1;
        do {
          while (paVar20->ai_family != 10) {
            puVar10 = puVar9;
            if (paVar20->ai_family == 2) {
              psVar1 = paVar20->ai_addr;
              puVar10 = puVar9 + 6;
              *puVar9 = 2;
              puVar9[1] = *(undefined4 *)(psVar1->sa_data + 2);
            }
            paVar20 = paVar20->ai_next;
            puVar9 = puVar10;
            if (paVar20 == (addrinfo *)0x0) goto LAB_0002b8a8;
          }
          psVar1 = paVar20->ai_addr;
          paVar20 = paVar20->ai_next;
          *puVar9 = 10;
          puVar9[1] = *(undefined4 *)(psVar1->sa_data + 6);
          puVar9[2] = *(undefined4 *)(psVar1->sa_data + 10);
          puVar9[3] = *(undefined4 *)(psVar1 + 1);
          uVar7 = *(undefined4 *)(psVar1[1].sa_data + 6);
          puVar9[4] = *(undefined4 *)(psVar1[1].sa_data + 2);
          puVar9[5] = uVar7;
          puVar9 = puVar9 + 6;
        } while (paVar20 != (addrinfo *)0x0);
LAB_0002b8a8:
        freeaddrinfo(local_58);
        if ((1 < *piVar8) && (DAT_000b6c3c != 2)) {
          pcVar15 = FUN_0002b0d0;
          if (DAT_000b6c3c != 0) {
            pcVar15 = FUN_0002b0f0;
          }
          FUN_00054860(piVar8[1],*piVar8,0x18,pcVar15);
        }
        if ((char)local_80 != '\0') {
          local_80 = *piVar8;
          if ((DAT_000b6c4d._1_1_ == '\x01') || (local_80 < 4)) {
            if (0 < local_80) {
              iVar14 = local_80 + -1;
              if (0 < iVar14) goto LAB_0002b927;
              iVar5 = 0;
              goto LAB_0002bb53;
            }
          }
          else {
            local_80 = 3;
            iVar14 = 2;
LAB_0002b927:
            if (local_80 < iVar14) {
              iVar14 = local_80;
            }
            iVar5 = 0;
            do {
              piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);
              pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);
              if (pcVar4 == (char *)0x0) {
                piVar11 = __errno_location();
                uVar7 = FUN_0007a3a0(*piVar11);
                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);
              }
              iVar5 = iVar5 + 1;
              FUN_0003daf0(0,&DAT_000b14a0);
              FUN_0003daf0(0,&DAT_000862b1);
            } while (iVar5 < iVar14);
            if (iVar5 < local_80) {
LAB_0002bb53:
              do {
                piVar11 = (int *)(piVar8[1] + iVar5 * 0x18);
                pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40);
                if (pcVar4 == (char *)0x0) {
                  piVar11 = __errno_location();
                  uVar7 = FUN_0007a3a0(*piVar11);
                  __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);
                }
                iVar5 = iVar5 + 1;
                FUN_0003daf0(0,&DAT_000b14a0);
              } while (iVar5 < local_80);
            }
            if (*piVar8 != local_80) {
              FUN_0003daf0(0,&DAT_000862b4);
            }
          }
          FUN_0003daf0(0,"\n");
        }
        if (local_65 != '\0') {
          if (DAT_000b14e0 == 0) {
            DAT_000b14e0 = FUN_0002aff0(0);
          }
          piVar8[4] = piVar8[4] + 1;
          uVar7 = FUN_0004f740(param_1);
          FUN_0002aa50(DAT_000b14e0,uVar7,piVar8);
          if (DAT_000b6b9b != '\0') {
            FUN_0003e2e0("Caching %s =>",param_1);
            if (0 < *piVar8) {
              iVar14 = 0;
              do {
                while (piVar11 = (int *)(piVar8[1] + iVar14 * 0x18),
                      pcVar4 = inet_ntop(*piVar11,piVar11 + 1,&DAT_000b14a0,0x40),
                      param_1 = &DAT_000b14a0, pcVar4 != (char *)0x0) {
                  iVar14 = iVar14 + 1;
                  FUN_0003e2e0(" %s",&DAT_000b14a0);
                  if (*piVar8 <= iVar14) goto LAB_0002bc5a;
                }
                piVar11 = __errno_location();
                iVar14 = iVar14 + 1;
                uVar7 = FUN_0007a3a0(*piVar11);
                __snprintf_chk(&DAT_000b14a0,0x40,1,0x40,"<error: %s>",uVar7);
                FUN_0003e2e0(" %s",&DAT_000b14a0);
              } while (iVar14 < *piVar8);
            }
LAB_0002bc5a:
            FUN_0003e2e0("\n",param_1);
          }
        }
        goto LAB_0002bafc;
      }
      local_64 = uVar18;
      if (uVar18 == 0) goto LAB_0002bce8;
    }
    else if (uVar18 == 0) {
      if (local_44 == 0xfffffff5) {
        piVar8 = __errno_location();
        iVar14 = *piVar8;
        goto LAB_0002bcca;
      }
LAB_0002bce8:
      pcVar4 = gai_strerror(local_64);
      goto LAB_0002bcf9;
    }
  }
  else {
    piVar8 = __errno_location();
    *piVar8 = 0x6e;
    if (uVar18 == 0) {
      iVar14 = 0x6e;
LAB_0002bcca:
      pcVar4 = (char *)FUN_0007a3a0(iVar14);
LAB_0002bcf9:
      uVar7 = dcgettext(0,"failed: %s.\n",5);
      FUN_0003df30(0,uVar7,pcVar4);
    }
  }
  piVar8 = (int *)0x0;
LAB_0002bafc:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0007ad20();
  }
  return piVar8;
}

