
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

int display_debug_names(dwarf_section *section,void *file)

{
  dwarf_vma *pdVar1;
  int *piVar2;
  uchar *puVar3;
  undefined *puVar4;
  FILE *pFVar5;
  uint uVar6;
  char *pcVar7;
  char *pcVar8;
  char *message;
  int iVar9;
  int *piVar10;
  int *piVar11;
  dwarf_vma *pdVar12;
  undefined *puVar13;
  dwarf_section *in_ECX;
  uint uVar14;
  uint *puVar15;
  uint uVar16;
  uint uVar17;
  int iVar18;
  int *piVar19;
  uchar *puVar20;
  int *piVar21;
  undefined4 uVar22;
  uint *puVar23;
  elf_vma eVar24;
  dwarf_vma dVar25;
  dwarf_vma dVar26;
  char *in_stack_ffffff58;
  dwarf_vma in_stack_ffffff64;
  undefined8 local_94;
  int *local_8c;
  int *local_88;
  int *local_80;
  uint local_7c;
  int local_78;
  dwarf_vma *local_74;
  uint local_70;
  undefined8 local_6c;
  int *local_64;
  int local_60;
  int *local_50;
  int *local_4c;
  int local_44;
  uint bytes_read;
  
  piVar2 = (int *)section->start;
  piVar21 = (int *)((int)piVar2 + (int)section->size);
  introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,in_ECX);
  load_debug_section_with_follow(str,file);
  do {
    if (piVar21 <= piVar2) {
      return 1;
    }
    piVar11 = piVar2 + 1;
    piVar10 = piVar11;
    if (piVar11 < piVar21) {
      pFVar5 = (FILE *)0x4;
LAB_00058065:
      local_94 = (*byte_get)((uchar *)piVar2,(int)pFVar5);
      local_7c = 4;
      in_stack_ffffff58 = (char *)pFVar5;
      if (local_94 == 0xffffffff) {
        piVar10 = piVar2 + 3;
        if (piVar10 < piVar21) {
          in_stack_ffffff58 = (char *)0x8;
        }
        else if ((piVar21 <= piVar11) ||
                (in_stack_ffffff58 = (char *)((int)piVar21 - (int)piVar11),
                (char *)0x7 < ((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27)) {
          local_7c = 8;
          in_stack_ffffff58 = (char *)pFVar5;
          goto LAB_00057fac;
        }
        local_94 = (*byte_get)((uchar *)piVar11,(int)in_stack_ffffff58);
        local_7c = 8;
      }
      local_80 = (int *)((int)piVar10 + (uint)local_94);
      uVar14 = (int)piVar10 - (int)section->start;
      uVar6 = uVar14 + (uint)local_94;
      uVar16 = local_94._4_4_ + (uint)CARRY4(uVar14,(uint)local_94);
      uVar17 = (uint)local_94;
      if (uVar16 < (uVar6 < uVar14)) goto LAB_000580cc;
    }
    else {
      pFVar5 = (FILE *)((int)piVar21 - (int)piVar2);
      if (pFVar5[-1]._unused2 + 0x27 < (char *)0x8) goto LAB_00058065;
      local_7c = 4;
LAB_00057fac:
      uVar16 = 0;
      local_94 = 0;
      uVar6 = (int)piVar10 - (int)section->start;
      uVar17 = 0;
      local_80 = piVar10;
    }
    uVar14 = *(uint *)((int)&section->size + 4);
    if (uVar14 < uVar16 || uVar14 - uVar16 < (uint)((uint)section->size < uVar6)) {
LAB_000580cc:
      pcVar8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_ffffff58) << 0x20,(uint)local_94);
      puVar20 = section->start;
      pcVar7 = section->name;
      message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);
      warn(message,pcVar7,(int)piVar2 - (int)puVar20,pcVar8);
      return 0;
    }
    piVar11 = (int *)((int)piVar10 + 2);
    if (piVar11 < local_80) {
      uVar17 = 2;
    }
    else if ((local_80 <= piVar10) || (7 < uVar17 - 1)) {
      pcVar7 = (char *)dcgettext(0,"Version %ld\n",5);
      printf(pcVar7,0);
      goto LAB_00058029;
    }
    eVar24 = (*byte_get)((uchar *)piVar10,uVar17);
    pcVar7 = (char *)dcgettext(0,"Version %ld\n",5);
    printf(pcVar7,(uint)eVar24 & 0xffff);
    if ((short)eVar24 != 5) {
LAB_00058029:
      pcVar7 = (char *)dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);
      warn(pcVar7);
      return 0;
    }
    piVar19 = piVar10 + 1;
    if (piVar19 < local_80) {
      iVar9 = 2;
LAB_00058e95:
      eVar24 = (*byte_get)((uchar *)piVar11,iVar9);
      if ((short)eVar24 != 0) {
        pcVar7 = (char *)dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);
        warn(pcVar7,(uint)eVar24 & 0xffff);
      }
      if (piVar10 + 2 < local_80) {
LAB_000581ba:
        iVar9 = 4;
      }
      else if ((local_80 <= piVar19) || (iVar9 = (int)local_80 - (int)piVar19, 7 < iVar9 - 1U))
      goto LAB_000581d8;
      eVar24 = (*byte_get)((uchar *)piVar19,iVar9);
      local_88 = (int *)eVar24;
      if (local_88 == (int *)0x0) goto LAB_000581d8;
    }
    else {
      if ((piVar11 < local_80) && ((uint)local_94 - 3 < 8)) {
        iVar9 = (uint)local_94 + -2;
        goto LAB_00058e95;
      }
      if (piVar10 + 2 < local_80) goto LAB_000581ba;
LAB_000581d8:
      pcVar7 = (char *)dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);
      warn(pcVar7);
      local_88 = (int *)0x0;
    }
    piVar19 = piVar10 + 2;
    piVar11 = piVar10 + 3;
    if (piVar11 < local_80) {
      iVar9 = 4;
LAB_00058ee1:
      eVar24 = (*byte_get)((uchar *)piVar19,iVar9);
      local_78 = (int)eVar24;
      if (piVar10 + 4 < local_80) {
LAB_00058f20:
        iVar9 = 4;
      }
      else if ((local_80 <= piVar11) || (iVar9 = (int)local_80 - (int)piVar11, 7 < iVar9 - 1U))
      goto LAB_0005823a;
      eVar24 = (*byte_get)((uchar *)piVar11,iVar9);
      local_74 = (dwarf_vma *)eVar24;
      if (piVar10 + 5 < local_80) goto LAB_00058f60;
      if ((piVar10 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 4), iVar9 - 1U < 8))
      goto LAB_00058f65;
LAB_0005824f:
      local_64 = (int *)0x0;
      local_70 = 0;
      if (local_80 <= piVar10 + 6) goto LAB_0005826c;
LAB_00058e1a:
      iVar9 = 4;
LAB_00058e1f:
      piVar11 = piVar10 + 6;
      eVar24 = (*byte_get)((uchar *)(piVar10 + 5),iVar9);
      local_44 = (int)eVar24;
      local_60 = local_44 * 4;
      local_6c._4_4_ = local_44 * local_7c;
      if (piVar10 + 7 < local_80) goto LAB_00058df0;
      if ((local_80 <= piVar11) || (7 < ((int)local_80 - (int)piVar11) - 1U)) {
LAB_00058291:
        if (piVar10 + 8 < local_80) {
          local_6c = (ulonglong)local_6c._4_4_ << 0x20;
          iVar9 = 4;
          goto LAB_000582ab;
        }
        local_6c = (ulonglong)local_6c._4_4_ << 0x20;
        goto LAB_0005838d;
      }
      eVar24 = (*byte_get)((uchar *)piVar11,(int)local_80 - (int)piVar11);
      local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);
      if (local_80 <= piVar10 + 8) goto LAB_0005838d;
LAB_00058e10:
      iVar9 = 4;
LAB_000582ab:
      local_8c = piVar10 + 8;
      eVar24 = (*byte_get)((uchar *)(piVar10 + 7),iVar9);
      iVar9 = (int)eVar24;
      if ((eVar24 & 3) != 0) {
        pcVar7 = (char *)dcgettext(0,
                                   "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"
                                   ,5);
        warn(pcVar7,iVar9);
        iVar9 = iVar9 + (-iVar9 & 3U);
      }
      pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);
      printf(pcVar7);
      if (iVar9 != 0) {
        piVar11 = (int *)((int)local_8c + iVar9);
        piVar10 = local_8c;
        do {
          piVar19 = (int *)((int)piVar10 + 1);
          if (piVar19 < local_80) {
            iVar9 = 1;
LAB_00058368:
            eVar24 = (*byte_get)((uchar *)piVar10,iVar9);
            uVar17 = (uint)eVar24 & 0xff;
          }
          else {
            uVar17 = 0;
            if ((piVar10 < local_80) && (iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8))
            goto LAB_00058368;
          }
          printf(" %02x",uVar17);
          piVar10 = piVar19;
          local_8c = piVar11;
        } while (piVar19 != piVar11);
      }
    }
    else {
      if ((piVar19 < local_80) && (iVar9 = (int)local_80 - (int)piVar19, iVar9 - 1U < 8))
      goto LAB_00058ee1;
      local_78 = 0;
      if (piVar10 + 4 < local_80) goto LAB_00058f20;
LAB_0005823a:
      local_74 = (dwarf_vma *)0x0;
      if (local_80 <= piVar10 + 5) goto LAB_0005824f;
LAB_00058f60:
      iVar9 = 4;
LAB_00058f65:
      eVar24 = (*byte_get)((uchar *)(piVar10 + 4),iVar9);
      local_70 = (uint)eVar24;
      local_64 = (int *)(local_70 << 2);
      if (piVar10 + 6 < local_80) goto LAB_00058e1a;
      if ((piVar10 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 5), iVar9 - 1U < 8))
      goto LAB_00058e1f;
LAB_0005826c:
      local_6c._4_4_ = 0;
      local_60 = 0;
      local_44 = 0;
      if (local_80 <= piVar10 + 7) goto LAB_00058291;
LAB_00058df0:
      eVar24 = (*byte_get)((uchar *)(piVar10 + 6),4);
      local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);
      if (piVar10 + 8 < local_80) goto LAB_00058e10;
      iVar9 = (int)local_80 - (int)(piVar10 + 7);
      if (iVar9 - 1U < 8) goto LAB_000582ab;
LAB_0005838d:
      local_8c = piVar10 + 8;
      pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);
      printf(pcVar7);
    }
    puVar4 = PTR_stdout_000b3fd8;
    putc(10,*(FILE **)PTR_stdout_000b3fd8);
    putc(10,*(FILE **)puVar4);
    pcVar7 = (char *)dcgettext(0,"CU table:\n",5);
    printf(pcVar7);
    if (local_88 != (int *)0x0) {
      piVar11 = local_8c;
      iVar9 = 0;
      do {
        piVar10 = (int *)((int)piVar11 + local_7c);
        uVar17 = local_7c;
        if ((piVar10 < local_80) ||
           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&
            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {
          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);
          uVar22 = (undefined4)eVar24;
        }
        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);
        iVar18 = iVar9 + 1;
        printf(pcVar7,iVar9,uVar22);
        piVar11 = piVar10;
        iVar9 = iVar18;
      } while (local_88 != (int *)iVar18);
      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);
    }
    putc(10,*(FILE **)puVar4);
    pcVar7 = (char *)dcgettext(0,"TU table:\n",5);
    printf(pcVar7);
    if (local_78 != 0) {
      piVar11 = local_8c;
      iVar9 = 0;
      do {
        piVar10 = (int *)((int)piVar11 + local_7c);
        uVar17 = local_7c;
        if ((piVar10 < local_80) ||
           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&
            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {
          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);
          uVar22 = (undefined4)eVar24;
        }
        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);
        iVar18 = iVar9 + 1;
        printf(pcVar7,iVar9,uVar22);
        piVar11 = piVar10;
        iVar9 = iVar18;
      } while (iVar18 != local_78);
      local_8c = (int *)((int)local_8c + iVar18 * local_7c);
    }
    putc(10,*(FILE **)puVar4);
    pcVar7 = (char *)dcgettext(0,"Foreign TU table:\n",5);
    printf(pcVar7);
    if (local_74 != (dwarf_vma *)0x0) {
      piVar11 = local_8c;
      iVar9 = 0;
      do {
        if (piVar11 + 2 < local_80) {
          iVar18 = 8;
LAB_0005862e:
          eVar24 = (*byte_get)((uchar *)piVar11,iVar18);
          local_94._0_4_ = (uint)eVar24;
        }
        else {
          local_94._0_4_ = 0;
          if ((piVar11 < local_80) && (iVar18 = (int)local_80 - (int)piVar11, iVar18 - 1U < 8))
          goto LAB_0005862e;
        }
        pcVar7 = (char *)dcgettext(0,"[%3u] ",5);
        iVar18 = iVar9 + 1;
        printf(pcVar7);
        print_dwarf_vma(CONCAT44(iVar9,pcVar7),(uint)local_94);
        putc(10,*(FILE **)puVar4);
        piVar11 = piVar11 + 2;
        iVar9 = iVar18;
      } while ((dwarf_vma *)iVar18 != local_74);
      local_8c = local_8c + iVar18 * 2;
    }
    putc(10,*(FILE **)puVar4);
    puVar23 = (uint *)((int)local_64 + (int)local_8c);
    local_4c = (int *)(local_60 + (int)puVar23);
    local_50 = (int *)((int)local_4c + local_6c._4_4_);
    puVar20 = (uchar *)(local_6c._4_4_ + (int)local_50);
    piVar11 = (int *)(puVar20 + (int)local_6c);
    if (local_80 < piVar11) {
      puVar20 = section->start;
      pcVar7 = (char *)dcgettext(0,
                                 "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"
                                 ,5);
      warn(pcVar7,(int)piVar11 - (int)puVar20,(int)local_80 - (int)puVar20,
           (int)piVar2 - (int)puVar20);
      return 0;
    }
    iVar9 = 0;
    if (local_70 != 0) {
      iVar9 = 0;
      piVar10 = local_8c + local_70;
      do {
        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);
        local_8c = local_8c + 1;
      } while (piVar10 != local_8c);
    }
    pcVar7 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70,
                                5);
    printf(pcVar7,iVar9,local_70);
    if (local_44 == 0) {
      local_88 = (int *)0x0;
      local_78 = 0;
    }
    else {
      local_88 = (int *)0x0;
      local_78 = 0;
      uVar6 = 0;
      uVar17 = *puVar23;
      puVar15 = puVar23;
      while (puVar15 = puVar15 + 1, puVar23 + local_44 != puVar15) {
        uVar14 = *puVar15;
        if (uVar17 % local_70 == uVar14 % local_70) {
          uVar6 = uVar6 + 1;
          local_78 = local_78 + 1;
          uVar17 = uVar14;
          if (local_88 < uVar6) {
            local_88 = (int *)uVar6;
          }
        }
        else {
          uVar6 = 0;
          uVar17 = uVar14;
        }
      }
      iVar9 = iVar9 + local_78;
    }
    pcVar7 = (char *)dcgettext(0,
                               "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"
                               ,5);
    printf(pcVar7,local_44,local_78,local_88);
    if (local_44 != iVar9) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",
                    0x216a,"display_debug_names");
    }
    local_88 = (int *)0x0;
    local_74 = (dwarf_vma *)0x0;
    local_8c = (int *)0x0;
    while( true ) {
      dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);
      puVar20 = puVar20 + bytes_read;
      if (dVar25 == 0) break;
      if (local_8c == local_88) {
        local_88 = (int *)((int)local_8c * 2);
        if (local_88 < 0x100) {
          local_88 = (int *)0x100;
        }
        local_74 = (dwarf_vma *)xrealloc(local_74,(int)local_88 * 0xc);
      }
      if (local_88 <= local_8c) {
                    /* WARNING: Subroutine does not return */
        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186
                      ,"display_debug_names");
      }
      pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc);
      if (local_74 < pdVar1) {
        dVar26 = *local_74;
        pdVar12 = local_74;
        while (dVar25 != dVar26) {
          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);
          if (pdVar1 <= pdVar12) goto LAB_00058864;
          dVar26 = *pdVar12;
        }
        puVar3 = section->start;
        pcVar7 = (char *)dcgettext(0,
                                   "Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"
                                   ,5);
        warn(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar3);
      }
LAB_00058864:
      local_8c = (int *)((int)local_8c + 1);
      *pdVar1 = dVar25;
      *(uchar **)(pdVar1 + 1) = puVar20;
      read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);
      puVar20 = puVar20 + bytes_read;
      do {
        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);
        puVar20 = puVar20 + bytes_read;
        dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);
        puVar20 = puVar20 + bytes_read;
      } while (dVar25 != 0 || dVar26 != 0);
    }
    in_stack_ffffff58 = "\nSymbol table:\n";
    pcVar7 = (char *)dcgettext(0,"\nSymbol table:\n",5);
    printf(pcVar7);
    if (local_44 != 0) {
      pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc);
      local_60 = 0;
LAB_000589d0:
      uVar17 = local_7c;
      if (((int *)((int)local_4c + local_7c) < local_80) ||
         ((local_4c < local_80 &&
          (uVar17 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {
        (*byte_get)((uchar *)local_4c,uVar17);
      }
      uVar17 = local_7c;
      if (((int *)((int)local_50 + local_7c) < local_80) ||
         ((local_64 = piVar11, local_50 < local_80 &&
          (uVar17 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {
        eVar24 = (*byte_get)((uchar *)local_50,uVar17);
        local_64 = (int *)((int)eVar24 + (int)piVar11);
      }
      puVar20 = fetch_indirect_string(in_stack_ffffff64);
      printf("[%3u] #%08x %s:",local_60,puVar23[local_60],puVar20);
      local_88 = local_64;
      local_6c = 0xffffffffffffffff;
      local_8c = (int *)0xfffffffe;
      do {
        while( true ) {
          dVar25 = read_leb128((uchar *)local_88,&bytes_read,0,(uchar *)local_80);
          uVar17 = bytes_read;
          if (local_8c != (int *)0xffffffff) break;
          local_88 = local_64;
          local_8c = (int *)0x0;
          local_6c = dVar25;
        }
        if (dVar25 == 0) goto LAB_00058b8d;
        if (-1 < (int)local_8c) {
          if (local_8c == (int *)0x0) {
            puVar13 = &DAT_0007c3bc;
            if ((int)local_6c != 0 || local_6c._4_4_ != 0) goto LAB_00058d60;
          }
          else {
LAB_00058d60:
            puVar13 = &DAT_0007bc58;
          }
          printf("%s<%lu>",puVar13,(int)dVar25);
        }
        if (pdVar1 <= local_74) goto LAB_00058b50;
        dVar26 = *local_74;
        pdVar12 = local_74;
        while (dVar25 != dVar26) {
          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);
          if (pdVar1 <= pdVar12) goto LAB_00058b50;
          dVar26 = *pdVar12;
        }
        puVar20 = *(uchar **)(pdVar12 + 1);
        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);
        puVar20 = puVar20 + bytes_read;
        if (-1 < (int)local_8c) {
          pcVar7 = get_TAG_name((ulong)dVar25);
          printf(" %s",pcVar7);
        }
        local_88 = (int *)((int)local_88 + uVar17);
        while( true ) {
          dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);
          puVar20 = puVar20 + bytes_read;
          dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);
          puVar20 = puVar20 + bytes_read;
          if (dVar25 == 0 && dVar26 == 0) break;
          if (-1 < (int)local_8c) {
            pcVar7 = get_DW_IDX_name((uint)dVar25);
            if (pcVar7 == (char *)0x0) {
              pcVar7 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);
              snprintf(buffer_10366,100,pcVar7,(uint)dVar25);
              pcVar7 = buffer_10366;
            }
            printf(" %s",pcVar7);
          }
          local_88 = (int *)read_and_display_attr_value
                                      (0,(ulong)dVar26,0,(uchar *)local_88,(uchar *)local_80,0,0,
                                       (ulonglong)local_7c,5,(debug_info *)0x0,
                                       (uint)local_8c >> 0x1f,(dwarf_section *)0x0,(cu_tu_set *)0x0,
                                       '=');
        }
        local_8c = (int *)((int)local_8c + 1);
      } while( true );
    }
LAB_00058bc3:
    free(local_74);
    piVar2 = local_80;
  } while( true );
LAB_00058b50:
  puVar20 = section->start;
  pcVar7 = (char *)dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5
                            );
  warn(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar20);
LAB_00058b8d:
  if ((int)local_8c < 1) {
    pcVar7 = (char *)dcgettext(0," <no entries>",5);
    printf(pcVar7);
  }
  in_stack_ffffff58 = *(char **)puVar4;
  putc(10,(FILE *)in_stack_ffffff58);
  local_60 = local_60 + 1;
  local_50 = (int *)((int)local_50 + local_7c);
  local_4c = (int *)((int)local_4c + local_7c);
  if (local_60 == local_44) goto LAB_00058bc3;
  goto LAB_000589d0;
}



/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

undefined4 FUN_00057f30(int param_1)

{
  longlong *plVar1;
  int *piVar2;
  uint uVar3;
  ulonglong uVar4;
  longlong lVar5;
  undefined *puVar6;
  ushort uVar7;
  short sVar8;
  int iVar9;
  char *pcVar10;
  undefined4 uVar11;
  undefined4 uVar12;
  undefined4 uVar13;
  uint uVar14;
  int *piVar15;
  int *piVar16;
  longlong *plVar17;
  undefined *puVar18;
  uint *puVar19;
  int iVar20;
  uint uVar21;
  int *piVar22;
  int *piVar23;
  uint *puVar24;
  longlong lVar25;
  undefined8 uVar26;
  undefined8 uVar27;
  longlong lVar28;
  int local_94;
  int *local_8c;
  int *local_88;
  int *local_80;
  int local_7c;
  int local_78;
  longlong *local_74;
  uint local_70;
  int local_6c;
  int local_68;
  int *local_64;
  int local_60;
  int *local_50;
  int *local_4c;
  int local_44;
  int local_20 [4];
  
  piVar2 = *(int **)(param_1 + 0x10);
  piVar23 = (int *)((int)piVar2 + *(int *)(param_1 + 0x1c));
  FUN_0004eb10();
  FUN_0004e110();
  do {
    if (piVar23 <= piVar2) {
      return 1;
    }
    piVar16 = piVar2 + 1;
    piVar15 = piVar16;
    if (piVar16 < piVar23) {
      iVar9 = 4;
LAB_00058065:
      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);
      local_7c = 4;
      if (lVar25 == 0xffffffff) {
        piVar15 = piVar2 + 3;
        if (piVar15 < piVar23) {
          iVar9 = 8;
        }
        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {
          local_7c = 8;
          goto LAB_00057fac;
        }
        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);
        local_7c = 8;
      }
      local_94 = (int)lVar25;
      local_80 = (int *)((int)piVar15 + local_94);
      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);
      uVar4 = lVar25 + (ulonglong)uVar14;
      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;
    }
    else {
      iVar9 = (int)piVar23 - (int)piVar2;
      if (iVar9 - 1U < 8) goto LAB_00058065;
      local_7c = 4;
LAB_00057fac:
      local_94 = 0;
      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));
      local_80 = piVar15;
    }
    uVar14 = (uint)(uVar4 >> 0x20);
    if (*(uint *)(param_1 + 0x20) < uVar14 ||
        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {
LAB_000580cc:
      uVar12 = FUN_0004cb30(0);
      iVar9 = *(int *)(param_1 + 0x10);
      uVar11 = *(undefined4 *)(param_1 + 8);
      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);
      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);
      return 0;
    }
    piVar16 = (int *)((int)piVar15 + 2);
    if (piVar16 < local_80) {
      iVar9 = 2;
    }
    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {
      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);
      printf(pcVar10,0);
      goto LAB_00058029;
    }
    uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);
    pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);
    printf(pcVar10,(uint)uVar7);
    if (uVar7 != 5) {
LAB_00058029:
      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);
      warn(uVar11);
      return 0;
    }
    piVar22 = piVar15 + 1;
    if (piVar22 < local_80) {
      local_94 = 2;
LAB_00058e95:
      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);
      if (sVar8 != 0) {
        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);
        warn(uVar11,sVar8);
      }
      if (piVar15 + 2 < local_80) {
LAB_000581ba:
        iVar9 = 4;
      }
      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))
      goto LAB_000581d8;
      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);
      if (local_88 == (int *)0x0) goto LAB_000581d8;
    }
    else {
      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {
        local_94 = local_94 + -2;
        goto LAB_00058e95;
      }
      if (piVar15 + 2 < local_80) goto LAB_000581ba;
LAB_000581d8:
      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);
      warn(uVar11);
      local_88 = (int *)0x0;
    }
    piVar22 = piVar15 + 2;
    piVar16 = piVar15 + 3;
    if (piVar16 < local_80) {
      iVar9 = 4;
LAB_00058ee1:
      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);
      if (piVar15 + 4 < local_80) {
LAB_00058f20:
        iVar9 = 4;
      }
      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))
      goto LAB_0005823a;
      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);
      if (piVar15 + 5 < local_80) goto LAB_00058f60;
      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))
      goto LAB_00058f65;
LAB_0005824f:
      local_64 = (int *)0x0;
      local_70 = 0;
      if (local_80 <= piVar15 + 6) goto LAB_0005826c;
LAB_00058e1a:
      iVar9 = 4;
LAB_00058e1f:
      piVar16 = piVar15 + 6;
      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);
      local_60 = local_44 * 4;
      local_68 = local_44 * local_7c;
      if (piVar15 + 7 < local_80) goto LAB_00058df0;
      if (local_80 <= piVar16) {
LAB_00058291:
        if (piVar15 + 8 < local_80) {
          local_6c = 0;
          iVar9 = 4;
          goto LAB_000582ab;
        }
        local_6c = 0;
        goto LAB_0005838d;
      }
      uVar14 = ((int)local_80 - (int)piVar16) - 1;
      if (7 < uVar14) goto LAB_00058291;
      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);
      if (local_80 <= piVar15 + 8) goto LAB_0005838d;
LAB_00058e10:
      iVar9 = 4;
LAB_000582ab:
      local_8c = piVar15 + 8;
      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);
      if ((uVar14 & 3) != 0) {
        uVar11 = dcgettext(0,
                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"
                           ,5);
        warn(uVar11,uVar14);
        uVar14 = uVar14 + (-uVar14 & 3);
      }
      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);
      printf(pcVar10);
      if (uVar14 != 0) {
        piVar16 = (int *)((int)local_8c + uVar14);
        piVar15 = local_8c;
        do {
          piVar22 = (int *)((int)piVar15 + 1);
          if (piVar22 < local_80) {
            iVar9 = 1;
LAB_00058368:
            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);
            uVar14 = uVar14 & 0xff;
          }
          else {
            uVar14 = 0;
            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))
            goto LAB_00058368;
          }
          printf(" %02x",uVar14);
          piVar15 = piVar22;
          local_8c = piVar16;
        } while (piVar22 != piVar16);
      }
    }
    else {
      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))
      goto LAB_00058ee1;
      local_78 = 0;
      if (piVar15 + 4 < local_80) goto LAB_00058f20;
LAB_0005823a:
      local_74 = (longlong *)0x0;
      if (local_80 <= piVar15 + 5) goto LAB_0005824f;
LAB_00058f60:
      iVar9 = 4;
LAB_00058f65:
      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);
      local_64 = (int *)(local_70 << 2);
      if (piVar15 + 6 < local_80) goto LAB_00058e1a;
      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))
      goto LAB_00058e1f;
LAB_0005826c:
      local_68 = 0;
      local_60 = 0;
      local_44 = 0;
      if (local_80 <= piVar15 + 7) goto LAB_00058291;
LAB_00058df0:
      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);
      if (piVar15 + 8 < local_80) goto LAB_00058e10;
      iVar9 = (int)local_80 - (int)(piVar15 + 7);
      if (iVar9 - 1U < 8) goto LAB_000582ab;
LAB_0005838d:
      local_8c = piVar15 + 8;
      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);
      printf(pcVar10);
    }
    puVar6 = PTR_stdout_000b3fd8;
    putc(10,*(FILE **)PTR_stdout_000b3fd8);
    putc(10,*(FILE **)puVar6);
    pcVar10 = (char *)dcgettext(0,"CU table:\n",5);
    printf(pcVar10);
    if (local_88 != (int *)0x0) {
      piVar16 = local_8c;
      iVar9 = 0;
      do {
        piVar15 = (int *)((int)piVar16 + local_7c);
        iVar20 = local_7c;
        if ((piVar15 < local_80) ||
           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&
            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {
          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);
        }
        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);
        iVar20 = iVar9 + 1;
        printf(pcVar10,iVar9,uVar11);
        piVar16 = piVar15;
        iVar9 = iVar20;
      } while (local_88 != (int *)iVar20);
      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);
    }
    putc(10,*(FILE **)puVar6);
    pcVar10 = (char *)dcgettext(0,"TU table:\n",5);
    printf(pcVar10);
    if (local_78 != 0) {
      piVar16 = local_8c;
      iVar9 = 0;
      do {
        piVar15 = (int *)((int)piVar16 + local_7c);
        iVar20 = local_7c;
        if ((piVar15 < local_80) ||
           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&
            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {
          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);
        }
        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);
        iVar20 = iVar9 + 1;
        printf(pcVar10,iVar9,uVar11);
        piVar16 = piVar15;
        iVar9 = iVar20;
      } while (iVar20 != local_78);
      local_8c = (int *)((int)local_8c + iVar20 * local_7c);
    }
    putc(10,*(FILE **)puVar6);
    pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);
    printf(pcVar10);
    if (local_74 != (longlong *)0x0) {
      piVar16 = local_8c;
      iVar9 = 0;
      do {
        if (piVar16 + 2 < local_80) {
          iVar20 = 8;
LAB_0005862e:
          (*DAT_000b9dd4)(piVar16,iVar20);
        }
        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))
        goto LAB_0005862e;
        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);
        iVar20 = iVar9 + 1;
        printf(pcVar10,iVar9);
        FUN_0004ce40();
        putc(10,*(FILE **)puVar6);
        piVar16 = piVar16 + 2;
        iVar9 = iVar20;
      } while ((longlong *)iVar20 != local_74);
      local_8c = local_8c + iVar20 * 2;
    }
    putc(10,*(FILE **)puVar6);
    puVar24 = (uint *)((int)local_64 + (int)local_8c);
    local_4c = (int *)(local_60 + (int)puVar24);
    local_50 = (int *)((int)local_4c + local_68);
    local_68 = local_68 + (int)local_50;
    piVar16 = (int *)(local_6c + local_68);
    if (local_80 < piVar16) {
      iVar9 = *(int *)(param_1 + 0x10);
      uVar11 = dcgettext(0,
                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"
                         ,5);
      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);
      return 0;
    }
    iVar9 = 0;
    if (local_70 != 0) {
      iVar9 = 0;
      piVar15 = local_8c + local_70;
      do {
        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);
        local_8c = local_8c + 1;
      } while (piVar15 != local_8c);
    }
    pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70
                                 ,5);
    printf(pcVar10,iVar9,local_70);
    if (local_44 == 0) {
      local_88 = (int *)0x0;
      local_78 = 0;
    }
    else {
      local_88 = (int *)0x0;
      local_78 = 0;
      uVar21 = 0;
      uVar14 = *puVar24;
      puVar19 = puVar24;
      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {
        uVar3 = *puVar19;
        if (uVar14 % local_70 == uVar3 % local_70) {
          uVar21 = uVar21 + 1;
          local_78 = local_78 + 1;
          uVar14 = uVar3;
          if (local_88 < uVar21) {
            local_88 = (int *)uVar21;
          }
        }
        else {
          uVar21 = 0;
          uVar14 = uVar3;
        }
      }
      iVar9 = iVar9 + local_78;
    }
    pcVar10 = (char *)dcgettext(0,
                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"
                                ,5);
    printf(pcVar10,local_44,local_78,local_88);
    if (local_44 != iVar9) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",
                    0x216a,"display_debug_names");
    }
    local_88 = (int *)0x0;
    local_74 = (longlong *)0x0;
    local_8c = (int *)0x0;
    while( true ) {
      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);
      local_68 = local_68 + local_20[0];
      if (lVar25 == 0) break;
      if (local_8c == local_88) {
        local_88 = (int *)((int)local_8c * 2);
        if (local_88 < 0x100) {
          local_88 = (int *)0x100;
        }
        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);
      }
      if (local_88 <= local_8c) {
                    /* WARNING: Subroutine does not return */
        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186
                      ,"display_debug_names");
      }
      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);
      if (local_74 < plVar1) {
        lVar28 = *local_74;
        plVar17 = local_74;
        while (lVar25 != lVar28) {
          plVar17 = (longlong *)((int)plVar17 + 0xc);
          if (plVar1 <= plVar17) goto LAB_00058864;
          lVar28 = *plVar17;
        }
        iVar9 = *(int *)(param_1 + 0x10);
        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);
        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);
      }
LAB_00058864:
      local_8c = (int *)((int)local_8c + 1);
      *plVar1 = lVar25;
      *(int *)(plVar1 + 1) = local_68;
      FUN_0004f910(local_68,local_20,0,piVar16);
      local_68 = local_68 + local_20[0];
      do {
        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);
        local_68 = local_68 + local_20[0];
        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);
        local_68 = local_68 + local_20[0];
      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||
               ((int)uVar27 != 0 || (int)uVar26 != 0));
    }
    pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);
    printf(pcVar10);
    if (local_44 != 0) {
      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);
      local_60 = 0;
      do {
        iVar9 = local_7c;
        if (((int *)((int)local_4c + local_7c) < local_80) ||
           ((local_4c < local_80 &&
            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {
          (*DAT_000b9dd4)(local_4c,iVar9);
        }
        iVar9 = local_7c;
        if (((int *)((int)local_50 + local_7c) < local_80) ||
           ((local_64 = piVar16, local_50 < local_80 &&
            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {
          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);
          local_64 = (int *)(iVar9 + (int)piVar16);
        }
        uVar11 = FUN_0004e530();
        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);
        local_88 = local_64;
        local_8c = (int *)0xfffffffe;
        lVar25 = -1;
        while( true ) {
          while( true ) {
            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);
            iVar9 = local_20[0];
            if (local_8c != (int *)0xffffffff) break;
            local_88 = local_64;
            local_8c = (int *)0x0;
            lVar25 = lVar28;
          }
          if (lVar28 == 0) goto LAB_00058b8d;
          if (-1 < (int)local_8c) {
            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {
              puVar18 = &DAT_0007bc58;
            }
            printf("%s<%lu>",puVar18,(int)lVar28);
          }
          if (plVar1 <= local_74) break;
          lVar5 = *local_74;
          plVar17 = local_74;
          while (lVar28 != lVar5) {
            plVar17 = (longlong *)((int)plVar17 + 0xc);
            if (plVar1 <= plVar17) goto LAB_00058b50;
            lVar5 = *plVar17;
          }
          lVar28 = plVar17[1];
          FUN_0004f910((int)lVar28,local_20,0,piVar16);
          iVar20 = (int)lVar28 + local_20[0];
          if (-1 < (int)local_8c) {
            uVar11 = FUN_0004e710();
            printf(" %s",uVar11);
          }
          local_88 = (int *)((int)local_88 + iVar9);
          while( true ) {
            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);
            iVar9 = (int)uVar26;
            iVar20 = iVar20 + local_20[0];
            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);
            iVar20 = iVar20 + local_20[0];
            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&
                ((int)uVar27 == 0 && iVar9 == 0)) break;
            if (-1 < (int)local_8c) {
              puVar18 = (undefined *)FUN_0006ad50(iVar9);
              if (puVar18 == (undefined *)0x0) {
                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);
                snprintf(&DAT_000b7660,100,pcVar10,iVar9);
                puVar18 = &DAT_000b7660;
              }
              printf(" %s",puVar18);
            }
            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,
                                           (uint)local_8c >> 0x1f,0,0,0x3d);
          }
          local_8c = (int *)((int)local_8c + 1);
        }
LAB_00058b50:
        iVar9 = *(int *)(param_1 + 0x10);
        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);
        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);
LAB_00058b8d:
        if ((int)local_8c < 1) {
          pcVar10 = (char *)dcgettext(0," <no entries>",5);
          printf(pcVar10);
        }
        putc(10,*(FILE **)puVar6);
        local_60 = local_60 + 1;
        local_50 = (int *)((int)local_50 + local_7c);
        local_4c = (int *)((int)local_4c + local_7c);
      } while (local_60 != local_44);
    }
    free(local_74);
    piVar2 = local_80;
  } while( true );
}


CALL 0x0004ab79
ADD EAX,0x5c0cb
PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x8c
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [ESP + 0xa0]
MOV EDI,dword ptr [EAX + 0x10]
LEA EDX,[EAX + 0xc]
MOV ESI,EDI
MOV dword ptr [ESP + 0x54],EDI
ADD EDI,dword ptr [EAX + 0x1c]
MOV EAX,dword ptr [EAX + 0x8]
MOV dword ptr [ESP + 0x6c],EDI
CALL 0x0004eb10
MOV EDX,dword ptr [ESP + 0xa4]
MOV EAX,0xa
CALL 0x0004e110
CMP ESI,EDI
JNC 0x00058be8
MOV EDI,dword ptr [ESP + 0x54]
MOV EAX,dword ptr [ESP + 0x6c]
LEA EBP,[EDI + 0x4]
CMP EBP,EAX
JC 0x00058060
SUB EAX,EDI
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x00058065
MOV dword ptr [ESP + 0x20],0x4
MOV EDI,dword ptr [ESP + 0xa0]
MOV dword ptr [ESP + 0x1c],EBP
MOV EAX,EBP
XOR EDX,EDX
MOV dword ptr [ESP + 0x8],0x0
XOR EBX,EBX
MOV dword ptr [ESP + 0xc],0x0
SUB EAX,dword ptr [EDI + 0x10]
MOV ECX,dword ptr [ESP + 0xa0]
MOV EDI,dword ptr [ESP + 0xa0]
MOV ECX,dword ptr [ECX + 0x20]
CMP dword ptr [EDI + 0x1c],EAX
SBB ECX,EDX
JC 0x000580cc
MOV EAX,dword ptr [ESP + 0x1c]
LEA ECX,[EBP + 0x2]
CMP ECX,EAX
JC 0x00058138
CMP EBP,EAX
JC 0x00058fbd
SUB ESP,0x4
PUSH 0x5
MOV EDI,dword ptr [ESP + 0x20]
LEA EAX,[EDI + 0xfffde5ac]
MOV EBX,EDI
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ESI
POP EDI
PUSH 0x0
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
SUB ESP,0x4
PUSH 0x5
MOV EDI,dword ptr [ESP + 0x20]
LEA EAX,[EDI + 0xfffdc2b4]
MOV EBX,EDI
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00066bf0
ADD ESP,0x10
XOR EAX,EAX
ADD ESP,0x8c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,0x4
SUB ESP,0x8
MOV EDI,dword ptr [ESP + 0x20]
LEA EDI,[EDI + 0x5dd4]
MOV dword ptr [ESP + 0x48],EDI
PUSH EAX
PUSH dword ptr [ESP + 0x60]
CALL dword ptr [EDI]
MOV dword ptr [ESP + 0x18],EAX
NOT EAX
MOV dword ptr [ESP + 0x1c],EDX
ADD ESP,0x10
OR EDX,EAX
MOV dword ptr [ESP + 0x20],0x4
JZ 0x00058fd0
MOV EBX,dword ptr [ESP + 0x8]
XOR EDI,EDI
MOV ECX,EBP
MOV EDX,EDI
LEA EAX,[EBP + EBX*0x1]
MOV dword ptr [ESP + 0x1c],EAX
MOV EAX,dword ptr [ESP + 0xa0]
SUB ECX,dword ptr [EAX + 0x10]
MOV EAX,ECX
ADD EAX,dword ptr [ESP + 0x8]
ADC EDX,dword ptr [ESP + 0xc]
CMP EAX,ECX
MOV ECX,EDX
SBB ECX,EDI
JNC 0x00057fd0
MOV ESI,dword ptr [ESP + 0x8]
MOV EDI,dword ptr [ESP + 0xc]
SUB ESP,0xc
PUSH 0x0
MOV EBX,dword ptr [ESP + 0x28]
MOV EDX,ESI
MOV ECX,EDI
LEA EAX,[EBX + 0xfffc89ca]
CALL 0x0004cb30
MOV EDI,dword ptr [ESP + 0x64]
MOV ESI,EAX
MOV EAX,dword ptr [ESP + 0xb0]
ADD ESP,0xc
SUB EDI,dword ptr [EAX + 0x10]
MOV EBP,dword ptr [EAX + 0x8]
LEA EAX,[EBX + 0xfffdbf9c]
PUSH 0x5
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x28],EBX
CALL 0x000130f0
PUSH ESI
PUSH EDI
PUSH EBP
PUSH EAX
MOV EBX,dword ptr [ESP + 0x38]
CALL 0x00066bf0
ADD ESP,0x20
XOR EAX,EAX
ADD ESP,0x8c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EBX,0x2
MOV dword ptr [ESP + 0x10],ECX
SUB ESP,0x8
MOV ESI,dword ptr [ESP + 0x20]
LEA EAX,[ESI + 0x5dd4]
MOV dword ptr [ESP + 0x48],EAX
PUSH EBX
MOV EBX,ESI
PUSH EBP
CALL dword ptr [EAX]
MOV EDI,EAX
LEA EAX,[ESI + 0xfffde5ac]
ADD ESP,0xc
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
MOVZX EDX,DI
POP ECX
PUSH EDX
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
CMP DI,0x5
MOV ECX,dword ptr [ESP + 0x10]
JNZ 0x00058029
MOV EDX,dword ptr [ESP + 0x1c]
LEA EAX,[EBP + 0x4]
MOV dword ptr [ESP + 0x10],EAX
CMP EAX,EDX
JC 0x00058e90
CMP ECX,EDX
JNC 0x000581b1
MOV EAX,dword ptr [ESP + 0x8]
SUB EAX,0x3
CMP EAX,0x7
JBE 0x000590d9
LEA ESI,[EBP + 0x8]
CMP ESI,dword ptr [ESP + 0x1c]
JNC 0x000581d8
MOV EAX,0x4
SUB ESP,0x8
PUSH EAX
PUSH dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [ESP + 0x50]
CALL dword ptr [EAX]
MOV dword ptr [ESP + 0x24],EAX
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00058204
SUB ESP,0x4
PUSH 0x5
MOV EDI,dword ptr [ESP + 0x20]
LEA EAX,[EDI + 0xfffdc328]
MOV EBX,EDI
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00066bf0
ADD ESP,0x10
MOV dword ptr [ESP + 0x14],0x0
MOV EAX,dword ptr [ESP + 0x1c]
LEA EDI,[EBP + 0xc]
CMP EDI,EAX
JC 0x00058edc
CMP ESI,EAX
JNC 0x00058225
SUB EAX,ESI
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x00058ee1
LEA EBX,[EBP + 0x10]
CMP dword ptr [ESP + 0x1c],EBX
MOV dword ptr [ESP + 0x24],0x0
JA 0x00058f20
LEA ESI,[EBP + 0x14]
CMP dword ptr [ESP + 0x1c],ESI
MOV dword ptr [ESP + 0x28],0x0
JA 0x00058f60
LEA EBX,[EBP + 0x18]
CMP dword ptr [ESP + 0x1c],EBX
MOV dword ptr [ESP + 0x38],0x0
MOV dword ptr [ESP + 0x2c],0x0
JA 0x00058e1a
LEA ESI,[EBP + 0x1c]
CMP ESI,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0x34],0x0
MOV dword ptr [ESP + 0x3c],0x0
MOV dword ptr [ESP + 0x58],0x0
JC 0x00058df0
ADD EBP,0x20
CMP EBP,dword ptr [ESP + 0x1c]
JNC 0x00058fb0
MOV dword ptr [ESP + 0x30],0x0
MOV EAX,0x4
SUB ESP,0x8
PUSH EAX
PUSH ESI
MOV EAX,dword ptr [ESP + 0x50]
CALL dword ptr [EAX]
MOV ESI,EAX
ADD ESP,0x10
TEST AL,0x3
JZ 0x000582ed
SUB ESP,0x4
PUSH 0x5
MOV EDI,dword ptr [ESP + 0x20]
LEA EAX,[EDI + 0xfffdc360]
MOV EBX,EDI
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDI
POP EDX
PUSH ESI
PUSH EAX
CALL 0x00066bf0
MOV EAX,ESI
ADD ESP,0x10
NEG EAX
AND EAX,0x3
ADD ESI,EAX
SUB ESP,0x4
PUSH 0x5
MOV EDI,dword ptr [ESP + 0x20]
LEA EAX,[EDI + 0xfffdf6fc]
MOV EBX,EDI
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
TEST ESI,ESI
JZ 0x0005910b
LEA EAX,[EBP + ESI*0x1]
LEA EDI,[EDI + 0xfffde426]
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,EBP
MOV EBP,EDI
MOV EDI,dword ptr [ESP + 0x1c]
JMP 0x0005835c
XOR EDX,EDX
CMP EDI,EAX
JBE 0x00058343
MOV ECX,EDI
SUB ECX,EAX
LEA EBX,[ECX + -0x1]
CMP EBX,0x7
JBE 0x00058368
SUB ESP,0x8
PUSH EDX
PUSH EBP
MOV EBX,dword ptr [ESP + 0x28]
CALL 0x00013060
ADD ESP,0x10
MOV EAX,ESI
CMP ESI,dword ptr [ESP + 0x10]
JZ 0x000583b5
LEA ESI,[EAX + 0x1]
CMP ESI,EDI
JNC 0x00058331
MOV ECX,0x1
SUB ESP,0x8
PUSH ECX
PUSH EAX
MOV EAX,dword ptr [ESP + 0x50]
CALL dword ptr [EAX]
MOVZX EDX,AL
ADD ESP,0x10
JMP 0x00058343
MOV EAX,dword ptr [ESP + 0x1c]
SUB EAX,ESI
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x000582ab
SUB ESP,0x4
PUSH 0x5
MOV EDI,dword ptr [ESP + 0x20]
LEA EAX,[EDI + 0xfffdf6fc]
MOV EBX,EDI
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
MOV dword ptr [ESP + 0x10],EBP
SUB ESP,0x8
MOV EDI,dword ptr [ESP + 0x20]
MOV ESI,dword ptr [EDI + 0xffffffd8]
MOV EBX,EDI
MOV dword ptr [ESP + 0x50],ESI
PUSH dword ptr [ESI]
PUSH 0xa
CALL 0x00013360
POP EAX
POP EDX
PUSH dword ptr [ESI]
PUSH 0xa
CALL 0x00013360
ADD ESP,0xc
LEA EAX,[EDI + 0xfffde5d4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x14]
TEST ECX,ECX
JZ 0x00058491
LEA EDI,[EDI + 0xfffdf711]
MOV EAX,dword ptr [ESP + 0x10]
XOR EBP,EBP
MOV dword ptr [ESP + 0x8],EDI
JMP 0x0005845f
MOV ECX,ESI
SUB ECX,EDI
XOR EDI,EDI
CMP EDX,ECX
JBE 0x0005842e
MOV ECX,EDX
SUB ECX,EAX
LEA EBX,[ECX + -0x1]
CMP EBX,0x7
JBE 0x00058472
SUB ESP,0x4
PUSH 0x5
PUSH dword ptr [ESP + 0x10]
PUSH 0x0
MOV EBX,dword ptr [ESP + 0x28]
CALL 0x000130f0
ADD ESP,0xc
PUSH EDI
PUSH EBP
ADD EBP,0x1
PUSH EAX
MOV EBX,dword ptr [ESP + 0x28]
CALL 0x00013060
ADD ESP,0x10
MOV EAX,ESI
CMP dword ptr [ESP + 0x14],EBP
JZ 0x00058484
MOV EDI,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [ESP + 0x1c]
LEA ESI,[EAX + EDI*0x1]
CMP ESI,EDX
JNC 0x00058418
MOV ECX,dword ptr [ESP + 0x20]
SUB ESP,0x8
PUSH ECX
PUSH EAX
MOV EAX,dword ptr [ESP + 0x50]
CALL dword ptr [EAX]
MOV EDI,EAX
ADD ESP,0x10
JMP 0x0005842e
MOV EAX,dword ptr [ESP + 0x14]
IMUL EAX,dword ptr [ESP + 0x20]
ADD dword ptr [ESP + 0x10],EAX
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x50]
PUSH dword ptr [EAX]
PUSH 0xa
MOV EDI,dword ptr [ESP + 0x28]
MOV EBX,EDI
CALL 0x00013360
ADD ESP,0xc
LEA EAX,[EDI + 0xfffde5e0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x24]
TEST EAX,EAX
JZ 0x00058558
LEA EDI,[EDI + 0xfffdf711]
MOV EAX,dword ptr [ESP + 0x10]
XOR EBP,EBP
MOV dword ptr [ESP + 0x8],EDI
JMP 0x0005852a
MOV ECX,ESI
SUB ECX,EDI
XOR EDI,EDI
CMP EDX,ECX
JBE 0x000584f9
MOV ECX,EDX
SUB ECX,EAX
LEA EBX,[ECX + -0x1]
CMP EBX,0x7
JBE 0x0005853d
SUB ESP,0x4
PUSH 0x5
PUSH dword ptr [ESP + 0x10]
PUSH 0x0
MOV EBX,dword ptr [ESP + 0x28]
CALL 0x000130f0
ADD ESP,0xc
PUSH EDI
PUSH EBP
ADD EBP,0x1
PUSH EAX
MOV EBX,dword ptr [ESP + 0x28]
CALL 0x00013060
ADD ESP,0x10
MOV EAX,ESI
CMP EBP,dword ptr [ESP + 0x24]
JZ 0x0005854f
MOV EDI,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [ESP + 0x1c]
LEA ESI,[EAX + EDI*0x1]
CMP ESI,EDX
JNC 0x000584e3
MOV ECX,dword ptr [ESP + 0x20]
SUB ESP,0x8
PUSH ECX
PUSH EAX
MOV EAX,dword ptr [ESP + 0x50]
CALL dword ptr [EAX]
MOV EDI,EAX
ADD ESP,0x10
JMP 0x000584f9
IMUL EBP,dword ptr [ESP + 0x20]
ADD dword ptr [ESP + 0x10],EBP
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x50]
PUSH dword ptr [EAX]
PUSH 0xa
MOV EDI,dword ptr [ESP + 0x28]
MOV EBX,EDI
CALL 0x00013360
ADD ESP,0xc
LEA EAX,[EDI + 0xfffdf71e]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x28]
TEST EAX,EAX
JZ 0x00058651
LEA EDI,[EDI + 0xfffdf731]
MOV EAX,dword ptr [ESP + 0x10]
XOR ESI,ESI
MOV EBP,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0x14],EDI
JMP 0x00058622
MOV dword ptr [ESP + 0x8],0x0
MOV dword ptr [ESP + 0xc],0x0
CMP EBP,EAX
JBE 0x000585ce
MOV EDX,EBP
SUB EDX,EAX
LEA ECX,[EDX + -0x1]
CMP ECX,0x7
JBE 0x0005862e
SUB ESP,0x4
PUSH 0x5
PUSH dword ptr [ESP + 0x1c]
PUSH 0x0
MOV EBX,dword ptr [ESP + 0x28]
CALL 0x000130f0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
MOV EBX,dword ptr [ESP + 0x28]
ADD ESI,0x1
CALL 0x00013060
MOV EDX,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [ESP + 0x18]
MOV ECX,0x8
CALL 0x0004ce40
POP EBX
POP EAX
MOV EAX,dword ptr [ESP + 0x50]
PUSH dword ptr [EAX]
PUSH 0xa
MOV EBX,dword ptr [ESP + 0x28]
CALL 0x00013360
ADD ESP,0x10
MOV EAX,EDI
CMP ESI,dword ptr [ESP + 0x28]
JZ 0x00058646
LEA EDI,[EAX + 0x8]
CMP EDI,EBP
JNC 0x000585ae
MOV EDX,0x8
SUB ESP,0x8
PUSH EDX
PUSH EAX
MOV EAX,dword ptr [ESP + 0x50]
CALL dword ptr [EAX]
MOV dword ptr [ESP + 0x18],EAX
MOV dword ptr [ESP + 0x1c],EDX
ADD ESP,0x10
JMP 0x000585ce
MOV EAX,dword ptr [ESP + 0x10]
LEA EAX,[EAX + ESI*0x8]
MOV dword ptr [ESP + 0x10],EAX
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x50]
PUSH dword ptr [EAX]
PUSH 0xa
MOV EBX,dword ptr [ESP + 0x28]
CALL 0x00013360
MOV EAX,dword ptr [ESP + 0x4c]
MOV EDI,dword ptr [ESP + 0x48]
MOV ESI,dword ptr [ESP + 0x44]
ADD EDI,dword ptr [ESP + 0x20]
ADD EAX,EDI
MOV dword ptr [ESP + 0x6c],EDI
MOV dword ptr [ESP + 0x48],EAX
ADD EAX,ESI
MOV dword ptr [ESP + 0x4c],EAX
ADD ESI,EAX
MOV EAX,dword ptr [ESP + 0x40]
ADD EAX,ESI
MOV dword ptr [ESP + 0x18],EAX
ADD ESP,0x10
CMP EAX,dword ptr [ESP + 0x1c]
JA 0x00059068
MOV EAX,dword ptr [ESP + 0x2c]
XOR EBP,EBP
TEST EAX,EAX
JZ 0x000586c5
MOV EAX,dword ptr [ESP + 0x10]
MOV EDI,dword ptr [ESP + 0x2c]
XOR EBP,EBP
LEA EDX,[EAX + EDI*0x4]
LEA ESI,[ESI]
CMP dword ptr [EAX],0x1
SBB EBP,-0x1
ADD EAX,0x4
CMP EDX,EAX
JNZ 0x000586b8
SUB ESP,0xc
PUSH 0x5
PUSH dword ptr [ESP + 0x3c]
MOV EDI,dword ptr [ESP + 0x2c]
LEA EAX,[EDI + 0xfffdf738]
MOV EBX,EDI
PUSH EAX
LEA EAX,[EDI + 0xfffdf752]
PUSH EAX
PUSH 0x0
CALL 0x00013410
ADD ESP,0x1c
PUSH dword ptr [ESP + 0x30]
PUSH EBP
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x58]
TEST EAX,EAX
JZ 0x00059029
MOV EDI,dword ptr [ESP + 0x5c]
MOV EDX,dword ptr [ESP + 0x58]
MOV dword ptr [ESP + 0x28],EBP
MOV dword ptr [ESP + 0x14],0x0
MOV EBX,dword ptr [ESP + 0x2c]
MOV EAX,dword ptr [EDI]
LEA ECX,[EDI + 0x4]
LEA EDI,[EDI + EDX*0x4]
MOV dword ptr [ESP + 0x30],ESI
MOV dword ptr [ESP + 0x10],EDI
XOR EDI,EDI
MOV dword ptr [ESP + 0x24],0x0
MOV EBP,EDI
JMP 0x00058743
XOR EBP,EBP
ADD ECX,0x4
MOV EAX,ESI
CMP dword ptr [ESP + 0x10],ECX
JZ 0x00058772
XOR EDX,EDX
MOV ESI,dword ptr [ECX]
DIV EBX
MOV EAX,ESI
MOV EDI,EDX
XOR EDX,EDX
DIV EBX
CMP EDI,EDX
JNZ 0x0005873c
MOV EAX,dword ptr [ESP + 0x14]
ADD EBP,0x1
ADD dword ptr [ESP + 0x24],0x1
CMP EAX,EBP
CMOVC EAX,EBP
MOV dword ptr [ESP + 0x14],EAX
JMP 0x0005873e
MOV ESI,dword ptr [ESP + 0x30]
MOV EBP,dword ptr [ESP + 0x28]
ADD EBP,dword ptr [ESP + 0x24]
SUB ESP,0x4
PUSH 0x5
MOV EDI,dword ptr [ESP + 0x20]
LEA EAX,[EDI + 0xfffdc410]
MOV EBX,EDI
PUSH EAX
PUSH 0x0
CALL 0x000130f0
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x38]
PUSH dword ptr [ESP + 0x70]
PUSH EAX
CALL 0x00013060
ADD ESP,0x20
CMP dword ptr [ESP + 0x58],EBP
JNZ 0x000590e8
MOV EAX,dword ptr [ESP + 0x18]
XOR EBP,EBP
LEA EDI,[ESP + 0x7c]
MOV dword ptr [ESP + 0x14],0x0
MOV dword ptr [ESP + 0x28],0x0
LEA EAX,[EAX + 0xfffdc4bc]
MOV dword ptr [ESP + 0x44],EDI
MOV dword ptr [ESP + 0x34],EAX
MOV dword ptr [ESP + 0x10],EBP
LEA ESI,[ESI]
PUSH dword ptr [ESP + 0x8]
PUSH 0x0
PUSH EDI
PUSH ESI
CALL 0x0004f910
ADD ESI,dword ptr [ESP + 0x8c]
MOV EBP,EAX
MOV EAX,EDX
MOV dword ptr [ESP + 0x34],ESI
ADD ESP,0x10
OR EAX,EBP
JZ 0x0005895b
MOV ESI,dword ptr [ESP + 0x14]
CMP dword ptr [ESP + 0x10],ESI
JZ 0x00058919
MOV EAX,dword ptr [ESP + 0x10]
MOV ESI,dword ptr [ESP + 0x14]
CMP EAX,ESI
JNC 0x000590b6
MOV EBX,dword ptr [ESP + 0x28]
LEA EAX,[EAX + EAX*0x2]
LEA ESI,[EBX + EAX*0x4]
CMP EBX,ESI
JNC 0x00058864
MOV EAX,dword ptr [EBX]
MOV ECX,dword ptr [EBX + 0x4]
XOR EAX,EBP
XOR ECX,EDX
OR ECX,EAX
JZ 0x000588d0
MOV EAX,EBX
JMP 0x0005885d
MOV ECX,dword ptr [EAX]
MOV EBX,dword ptr [EAX + 0x4]
XOR ECX,EBP
XOR EBX,EDX
OR EBX,ECX
JZ 0x000588d0
ADD EAX,0xc
CMP EAX,ESI
JC 0x00058850
MOV EAX,dword ptr [ESP + 0x24]
ADD dword ptr [ESP + 0x10],0x1
MOV dword ptr [ESI],EBP
MOV dword ptr [ESI + 0x4],EDX
MOV dword ptr [ESI + 0x8],EAX
MOV ESI,EAX
PUSH dword ptr [ESP + 0x8]
PUSH 0x0
PUSH EDI
PUSH EAX
CALL 0x0004f910
ADD ESI,dword ptr [ESP + 0x8c]
ADD ESP,0x10
MOV EBX,ESI
PUSH dword ptr [ESP + 0x8]
PUSH 0x0
PUSH EDI
PUSH EBX
CALL 0x0004f910
ADD EBX,dword ptr [ESP + 0x8c]
PUSH dword ptr [ESP + 0x18]
PUSH 0x0
MOV ESI,EAX
MOV EBP,EDX
PUSH EDI
PUSH EBX
CALL 0x0004f910
ADD EBX,dword ptr [ESP + 0x9c]
ADD ESP,0x20
OR EAX,ESI
OR EDX,EBP
OR EDX,EAX
JNZ 0x00058890
MOV ESI,EBX
JMP 0x000587e8
MOV EAX,dword ptr [ESP + 0xa0]
MOV ECX,dword ptr [ESP + 0x54]
MOV dword ptr [ESP + 0x30],EDX
SUB ESP,0x4
SUB ECX,dword ptr [EAX + 0x10]
MOV dword ptr [ESP + 0x30],ECX
PUSH 0x5
PUSH dword ptr [ESP + 0x3c]
PUSH 0x0
MOV EBX,dword ptr [ESP + 0x28]
CALL 0x000130f0
ADD ESP,0xc
MOV ECX,dword ptr [ESP + 0x30]
PUSH ECX
PUSH EBP
PUSH EAX
MOV EBX,dword ptr [ESP + 0x28]
CALL 0x00066bf0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x30]
JMP 0x00058864
MOV EAX,dword ptr [ESP + 0x10]
MOV ESI,0x100
MOV dword ptr [ESP + 0x2c],EDX
ADD EAX,EAX
CMP EAX,0x100
CMOVC EAX,ESI
SUB ESP,0x8
MOV dword ptr [ESP + 0x1c],EAX
LEA EAX,[EAX + EAX*0x2]
SHL EAX,0x2
PUSH EAX
PUSH dword ptr [ESP + 0x34]
MOV EBX,dword ptr [ESP + 0x28]
CALL 0x0006b060
MOV dword ptr [ESP + 0x38],EAX
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x2c]
JMP 0x0005881d
MOV dword ptr [ESP + 0x64],EBP
MOV EBP,dword ptr [ESP + 0x10]
SUB ESP,0x4
MOV dword ptr [ESP + 0x6c],EDX
PUSH 0x5
MOV EDI,dword ptr [ESP + 0x20]
LEA EAX,[EDI + 0xfffde624]
MOV EBX,EDI
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x58]
TEST EAX,EAX
JZ 0x00058bc3
MOV EDI,dword ptr [ESP + 0x28]
LEA EAX,[EBP + EBP*0x2]
LEA EAX,[EDI + EAX*0x4]
MOV EDI,dword ptr [ESP + 0x44]
MOV dword ptr [ESP + 0x2c],EAX
MOV EAX,dword ptr [ESP + 0x3c]
MOV dword ptr [ESP + 0x3c],0x0
MOV dword ptr [ESP + 0x4c],EAX
MOV EAX,dword ptr [ESP + 0x38]
MOV dword ptr [ESP + 0x50],EAX
MOV EAX,dword ptr [ESP + 0x18]
LEA EAX,[EAX + 0xfffdf76b]
MOV dword ptr [ESP + 0x60],EAX
MOV ESI,dword ptr [ESP + 0x50]
MOV ECX,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [ESP + 0x1c]
MOV EAX,ESI
ADD ESI,ECX
MOV dword ptr [ESP + 0x50],ESI
CMP EDX,ESI
JA 0x00058dac
CMP EAX,EDX
JNC 0x000589fe
SUB EDX,EAX
LEA ECX,[EDX + -0x1]
CMP ECX,0x7
JBE 0x00058db0
MOV ESI,dword ptr [ESP + 0x64]
MOV EBX,dword ptr [ESP + 0x68]
MOV EDX,dword ptr [ESP + 0x4c]
MOV ECX,dword ptr [ESP + 0x20]
MOV EAX,EDX
ADD EDX,ECX
MOV ECX,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0x4c],EDX
CMP ECX,EDX
JA 0x00058d8d
MOV EDX,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x38],EDX
CMP EAX,ECX
JNC 0x00058a46
MOV EDX,ECX
SUB EDX,EAX
LEA ECX,[EDX + -0x1]
CMP ECX,0x7
JBE 0x00058d91
MOV EAX,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x38],EAX
MOV EDX,EBX
MOV EAX,ESI
CALL 0x0004e530
PUSH EAX
MOV ESI,dword ptr [ESP + 0x60]
MOV EAX,dword ptr [ESP + 0x40]
PUSH dword ptr [ESI + EAX*0x4]
PUSH EAX
PUSH dword ptr [ESP + 0x6c]
MOV ESI,dword ptr [ESP + 0x28]
MOV EBX,ESI
CALL 0x00013060
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x38]
MOV dword ptr [ESP + 0x30],0xffffffff
MOV dword ptr [ESP + 0x14],EAX
LEA EAX,[ESI + 0x3660]
MOV dword ptr [ESP + 0x34],0xffffffff
MOV dword ptr [ESP + 0x10],0xfffffffe
MOV dword ptr [ESP + 0x44],EAX
LEA ESI,[ESI]
NOP
PUSH dword ptr [ESP + 0x1c]
PUSH 0x0
PUSH EDI
PUSH dword ptr [ESP + 0x20]
CALL 0x0004f910
ADD ESP,0x10
CMP dword ptr [ESP + 0x10],-0x1
MOV ESI,EAX
MOV EBP,EDX
JZ 0x00058d70
MOV EAX,EDX
OR EAX,ESI
JZ 0x00058b8d
MOV EAX,dword ptr [ESP + 0x7c]
MOV dword ptr [ESP + 0x24],EAX
MOV EAX,dword ptr [ESP + 0x10]
TEST EAX,EAX
JS 0x00058b12
JNZ 0x00058d60
MOV EAX,dword ptr [ESP + 0x18]
MOV EDX,dword ptr [ESP + 0x30]
OR EDX,dword ptr [ESP + 0x34]
LEA EAX,[EAX + 0xfffc83bc]
JNZ 0x00058d60
SUB ESP,0x4
PUSH ESI
PUSH EAX
MOV EBX,dword ptr [ESP + 0x24]
LEA EAX,[EBX + 0xfffdf77b]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x28]
MOV EBX,dword ptr [ESP + 0x2c]
CMP ECX,EBX
JNC 0x00058b50
MOV EAX,dword ptr [ECX]
MOV EDX,dword ptr [ECX + 0x4]
XOR EAX,ESI
XOR EDX,EBP
OR EDX,EAX
JZ 0x00058c00
MOV EAX,ECX
JMP 0x00058b49
MOV EDX,dword ptr [EAX]
MOV ECX,dword ptr [EAX + 0x4]
XOR EDX,ESI
XOR ECX,EBP
OR ECX,EDX
JZ 0x00058c08
ADD EAX,0xc
CMP EAX,EBX
JC 0x00058b38
MOV EAX,dword ptr [ESP + 0xa0]
MOV EBP,dword ptr [ESP + 0x54]
SUB ESP,0x4
SUB EBP,dword ptr [EAX + 0x10]
PUSH 0x5
MOV EDX,dword ptr [ESP + 0x20]
LEA EAX,[EDX + 0xfffdc500]
MOV EBX,EDX
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x28],EDX
CALL 0x000130f0
ADD ESP,0xc
PUSH EBP
PUSH ESI
PUSH EAX
MOV EBX,dword ptr [ESP + 0x28]
CALL 0x00066bf0
ADD ESP,0x10
MOV EBP,dword ptr [ESP + 0x10]
TEST EBP,EBP
JLE 0x00058dc7
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x50]
PUSH dword ptr [EAX]
PUSH 0xa
MOV EBX,dword ptr [ESP + 0x28]
CALL 0x00013360
ADD dword ptr [ESP + 0x4c],0x1
MOV EAX,dword ptr [ESP + 0x4c]
ADD ESP,0x10
CMP EAX,dword ptr [ESP + 0x58]
JNZ 0x000589d0
SUB ESP,0xc
PUSH dword ptr [ESP + 0x34]
MOV EBX,dword ptr [ESP + 0x28]
CALL 0x000130a0
MOV EAX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x64],EAX
ADD ESP,0x10
CMP dword ptr [ESP + 0x6c],EAX
JA 0x00057f83
ADD ESP,0x8c
MOV EAX,0x1
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [ESP + 0x28]
LEA ESI,[ESI]
MOV ESI,dword ptr [EAX + 0x8]
PUSH dword ptr [ESP + 0x8]
PUSH 0x0
PUSH EDI
PUSH ESI
CALL 0x0004f910
ADD ESI,dword ptr [ESP + 0x8c]
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x10]
TEST ECX,ECX
JS 0x00058c46
CALL 0x0004e710
SUB ESP,0x8
PUSH EAX
MOV EBX,dword ptr [ESP + 0x24]
LEA EAX,[EBX + 0xfffdea8e]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x24]
ADD dword ptr [ESP + 0x14],EDX
JMP 0x00058c8e
PUSH 0x3d
XOR EDX,EDX
PUSH 0x0
PUSH 0x0
MOV EAX,dword ptr [ESP + 0x1c]
SHR EAX,0x1f
PUSH EAX
PUSH 0x0
PUSH 0x5
MOV EAX,dword ptr [ESP + 0x38]
PUSH EDX
MOV EDX,ECX
PUSH EAX
XOR EAX,EAX
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH dword ptr [ESP + 0x4c]
PUSH dword ptr [ESP + 0x48]
PUSH 0x0
PUSH 0x0
CALL 0x00053040
MOV dword ptr [ESP + 0x54],EAX
ADD ESP,0x40
PUSH dword ptr [ESP + 0x8]
PUSH 0x0
PUSH EDI
PUSH ESI
CALL 0x0004f910
ADD ESI,dword ptr [ESP + 0x8c]
PUSH dword ptr [ESP + 0x18]
PUSH 0x0
MOV EBP,EAX
MOV EBX,EDX
PUSH EDI
PUSH ESI
CALL 0x0004f910
ADD ESI,dword ptr [ESP + 0x9c]
ADD ESP,0x20
MOV ECX,EAX
OR EBX,EDX
OR EAX,EBP
OR EBX,EAX
JZ 0x00058d10
MOV EAX,dword ptr [ESP + 0x10]
TEST EAX,EAX
JS 0x00058c50
MOV dword ptr [ESP + 0x24],ECX
SUB ESP,0xc
PUSH EBP
MOV EBX,dword ptr [ESP + 0x28]
CALL 0x0006ad50
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x24]
TEST EAX,EAX
JZ 0x00058d20
MOV dword ptr [ESP + 0x24],ECX
SUB ESP,0x8
PUSH EAX
MOV EBX,dword ptr [ESP + 0x24]
LEA EAX,[EBX + 0xfffdea8e]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x24]
JMP 0x00058c50
ADD dword ptr [ESP + 0x10],0x1
JMP 0x00058aa0
SUB ESP,0x4
PUSH 0x5
MOV EDX,dword ptr [ESP + 0x20]
LEA EAX,[EDX + 0xfffdf783]
MOV EBX,EDX
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x28],EDX
CALL 0x000130f0
PUSH EBP
PUSH EAX
PUSH 0x64
MOV EBP,dword ptr [ESP + 0x60]
PUSH EBP
MOV EBX,dword ptr [ESP + 0x38]
CALL 0x000132c0
ADD ESP,0x20
MOV EAX,EBP
MOV ECX,dword ptr [ESP + 0x24]
JMP 0x00058ceb
MOV EAX,dword ptr [ESP + 0x18]
LEA EAX,[EAX + 0xfffc7c58]
JMP 0x00058afa
MOV dword ptr [ESP + 0x30],EAX
MOV EAX,dword ptr [ESP + 0x38]
MOV dword ptr [ESP + 0x34],EDX
MOV dword ptr [ESP + 0x14],EAX
MOV dword ptr [ESP + 0x10],0x0
JMP 0x00058aa0
MOV EDX,dword ptr [ESP + 0x20]
SUB ESP,0x8
PUSH EDX
PUSH EAX
MOV EAX,dword ptr [ESP + 0x50]
CALL dword ptr [EAX]
ADD EAX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x48],EAX
ADD ESP,0x10
JMP 0x00058a46
MOV EDX,dword ptr [ESP + 0x20]
SUB ESP,0x8
PUSH EDX
PUSH EAX
MOV EAX,dword ptr [ESP + 0x50]
CALL dword ptr [EAX]
MOV ESI,EAX
MOV EBX,EDX
ADD ESP,0x10
JMP 0x00058a06
SUB ESP,0x4
PUSH 0x5
MOV ESI,dword ptr [ESP + 0x20]
LEA EAX,[ESI + 0xfffdf79a]
MOV EBX,ESI
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
JMP 0x00058b99
SUB ESP,0x8
ADD EBP,0x20
PUSH 0x4
PUSH EBX
MOV EAX,dword ptr [ESP + 0x50]
CALL dword ptr [EAX]
MOV dword ptr [ESP + 0x40],EAX
ADD ESP,0x10
CMP EBP,dword ptr [ESP + 0x1c]
JNC 0x0005837b
MOV EAX,0x4
JMP 0x000582ab
MOV EAX,0x4
SUB ESP,0x8
PUSH EAX
PUSH ESI
MOV EAX,dword ptr [ESP + 0x50]
LEA ESI,[EBP + 0x1c]
CALL dword ptr [EAX]
MOV dword ptr [ESP + 0x68],EAX
LEA EDI,[EAX*0x4 + 0x0]
IMUL EAX,dword ptr [ESP + 0x30]
MOV dword ptr [ESP + 0x4c],EDI
MOV dword ptr [ESP + 0x44],EAX
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
CMP ESI,EAX
JC 0x00058df0
CMP EAX,EBX
JBE 0x00058291
SUB EAX,EBX
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JA 0x00058291
PUSH EDX
ADD EBP,0x20
PUSH EDX
PUSH EAX
PUSH EBX
MOV EAX,dword ptr [ESP + 0x50]
CALL dword ptr [EAX]
MOV dword ptr [ESP + 0x40],EAX
ADD ESP,0x10
CMP EBP,dword ptr [ESP + 0x1c]
JNC 0x0005838d
JMP 0x00058e10
MOV ESI,0x2
SUB ESP,0x8
PUSH ESI
PUSH ECX
MOV EAX,dword ptr [ESP + 0x50]
CALL dword ptr [EAX]
MOV ESI,EAX
ADD ESP,0x10
TEST AX,AX
JNZ 0x00058ffc
MOV EAX,dword ptr [ESP + 0x1c]
LEA ESI,[EBP + 0x8]
CMP ESI,EAX
JC 0x000581ba
MOV EDI,dword ptr [ESP + 0x10]
CMP EDI,EAX
JNC 0x000581d8
SUB EAX,EDI
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x000581bf
JMP 0x000581d8
MOV EAX,0x4
SUB ESP,0x8
LEA EBX,[EBP + 0x10]
PUSH EAX
PUSH ESI
MOV EAX,dword ptr [ESP + 0x50]
CALL dword ptr [EAX]
MOV dword ptr [ESP + 0x34],EAX
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
CMP EBX,EAX
JC 0x00058f20
CMP EDI,EAX
JNC 0x0005823a
SUB EAX,EDI
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JA 0x0005823a
JMP 0x00058f25
MOV EAX,0x4
SUB ESP,0x8
LEA ESI,[EBP + 0x14]
PUSH EAX
PUSH EDI
MOV EAX,dword ptr [ESP + 0x50]
CALL dword ptr [EAX]
MOV dword ptr [ESP + 0x38],EAX
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
CMP ESI,EAX
JC 0x00058f60
CMP EAX,EBX
JBE 0x0005824f
SUB EAX,EBX
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JA 0x0005824f
JMP 0x00058f65
MOV EAX,0x4
SUB ESP,0x8
PUSH EAX
PUSH EBX
MOV EAX,dword ptr [ESP + 0x50]
LEA EBX,[EBP + 0x18]
CALL dword ptr [EAX]
MOV dword ptr [ESP + 0x3c],EAX
SHL EAX,0x2
MOV dword ptr [ESP + 0x48],EAX
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
CMP EBX,EAX
JC 0x00058e1a
CMP EAX,ESI
JBE 0x0005826c
SUB EAX,ESI
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JA 0x0005826c
JMP 0x00058e1f
MOV dword ptr [ESP + 0x30],0x0
JMP 0x0005838d
LEA EAX,[EBX + -0x1]
CMP EAX,0x7
JA 0x00058003
JMP 0x0005813d
MOV EAX,dword ptr [ESP + 0x54]
LEA EBX,[EAX + 0xc]
MOV EAX,dword ptr [ESP + 0x6c]
CMP EBX,EAX
JC 0x0005903e
CMP EBP,EAX
JNC 0x00058fed
SUB EAX,EBP
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x00059043
MOV EBP,EBX
MOV dword ptr [ESP + 0x20],0x8
JMP 0x00057fac
SUB ESP,0x4
MOVZX ESI,SI
PUSH 0x5
MOV EDI,dword ptr [ESP + 0x20]
LEA EAX,[EDI + 0xfffdc2f0]
MOV EBX,EDI
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ECX
POP EDI
PUSH ESI
PUSH EAX
CALL 0x00066bf0
ADD ESP,0x10
JMP 0x00058eae
MOV dword ptr [ESP + 0x14],0x0
MOV dword ptr [ESP + 0x24],0x0
JMP 0x0005877e
MOV EAX,0x8
SUB ESP,0x8
PUSH EAX
PUSH EBP
MOV EAX,dword ptr [ESP + 0x50]
MOV EBP,EBX
CALL dword ptr [EAX]
MOV dword ptr [ESP + 0x18],EAX
MOV dword ptr [ESP + 0x1c],EDX
ADD ESP,0x10
MOV dword ptr [ESP + 0x20],0x8
JMP 0x0005809a
MOV EAX,dword ptr [ESP + 0xa0]
SUB ESP,0x4
MOV ESI,dword ptr [EAX + 0x10]
PUSH 0x5
MOV EDI,dword ptr [ESP + 0x20]
LEA EAX,[EDI + 0xfffdc3b8]
MOV EBX,EDI
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV EDX,dword ptr [ESP + 0x64]
SUB EDX,ESI
PUSH EDX
MOV EDX,dword ptr [ESP + 0x30]
SUB EDX,ESI
PUSH EDX
MOV EDX,dword ptr [ESP + 0x20]
SUB EDX,ESI
PUSH EDX
PUSH EAX
CALL 0x00066bf0
ADD ESP,0x20
XOR EAX,EAX
ADD ESP,0x8c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EBX,dword ptr [ESP + 0x18]
LEA EAX,[EBX + 0xfffe190c]
PUSH EAX
LEA EAX,[EBX + 0xfffde526]
PUSH 0x2186
PUSH EAX
LEA EAX,[EBX + 0xfffdc48c]
PUSH EAX
CALL 0x00013420
MOV ESI,dword ptr [ESP + 0x8]
SUB ESI,0x2
JMP 0x00058e95
MOV EBX,dword ptr [ESP + 0x18]
LEA EAX,[EBX + 0xfffe190c]
PUSH EAX
LEA EAX,[EBX + 0xfffde526]
PUSH 0x216a
PUSH EAX
LEA EAX,[EBX + 0xfffdc45c]
PUSH EAX
CALL 0x00013420
MOV dword ptr [ESP + 0x10],EBP
JMP 0x000583b5
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nundefined4 FUN_00057f30(int param_1)\n\n{\n  longlong *plVar1;\n  int *piVar2;\n  uint uVar3;\n  ulonglong uVar4;\n  longlong lVar5;\n  undefined *puVar6;\n  ushort uVar7;\n  short sVar8;\n  int iVar9;\n  char *pcVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int *piVar15;\n  int *piVar16;\n  longlong *plVar17;\n  undefined *puVar18;\n  uint *puVar19;\n  int iVar20;\n  uint uVar21;\n  int *piVar22;\n  int *piVar23;\n  uint *puVar24;\n  longlong lVar25;\n  undefined8 uVar26;\n  undefined8 uVar27;\n  longlong lVar28;\n  int local_94;\n  int *local_8c;\n  int *local_88;\n  int *local_80;\n  int local_7c;\n  int local_78;\n  longlong *local_74;\n  uint local_70;\n  int local_6c;\n  int local_68;\n  int *local_64;\n  int local_60;\n  int *local_50;\n  int *local_4c;\n  int local_44;\n  int local_20 [4];\n  \n  piVar2 = *(int **)(param_1 + 0x10);\n  piVar23 = (int *)((int)piVar2 + *(int *)(param_1 + 0x1c));\n  FUN_0004eb10();\n  FUN_0004e110();\n  do {\n    if (piVar23 <= piVar2) {\n      return 1;\n    }\n    piVar16 = piVar2 + 1;\n    piVar15 = piVar16;\n    if (piVar16 < piVar23) {\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }\n    uVar14 = (uint)(uVar4 >> 0x20);\n    if (*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }\n    piVar16 = (int *)((int)piVar15 + 2);\n    if (piVar16 < local_80) {\n      iVar9 = 2;\n    }\n    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }\n    uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);\n    pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar10,(uint)uVar7);\n    if (uVar7 != 5) {\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }\n    piVar22 = piVar15 + 1;\n    if (piVar22 < local_80) {\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }\n    piVar22 = piVar15 + 2;\n    piVar16 = piVar15 + 3;\n    if (piVar16 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }\n    else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }\n    puVar6 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar10);\n    if (local_88 != (int *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar10);\n    if (local_78 != 0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar10);\n    if (local_74 != (longlong *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }\n    putc(10,*(FILE **)puVar6);\n    puVar24 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar24);\n    local_50 = (int *)((int)local_4c + local_68);\n    local_68 = local_68 + (int)local_50;\n    piVar16 = (int *)(local_6c + local_68);\n    if (local_80 < piVar16) {\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }\n    pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5);\n    printf(pcVar10,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5);\n    printf(pcVar10,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (longlong *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }\n    pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar10);\n    if (local_44 != 0) {\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }\n    free(local_74);\n    piVar2 = local_80;\n  } while( true );\n}\n\n" comment (function_definition "undefined4 FUN_00057f30(int param_1)\n\n{\n  longlong *plVar1;\n  int *piVar2;\n  uint uVar3;\n  ulonglong uVar4;\n  longlong lVar5;\n  undefined *puVar6;\n  ushort uVar7;\n  short sVar8;\n  int iVar9;\n  char *pcVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int *piVar15;\n  int *piVar16;\n  longlong *plVar17;\n  undefined *puVar18;\n  uint *puVar19;\n  int iVar20;\n  uint uVar21;\n  int *piVar22;\n  int *piVar23;\n  uint *puVar24;\n  longlong lVar25;\n  undefined8 uVar26;\n  undefined8 uVar27;\n  longlong lVar28;\n  int local_94;\n  int *local_8c;\n  int *local_88;\n  int *local_80;\n  int local_7c;\n  int local_78;\n  longlong *local_74;\n  uint local_70;\n  int local_6c;\n  int local_68;\n  int *local_64;\n  int local_60;\n  int *local_50;\n  int *local_4c;\n  int local_44;\n  int local_20 [4];\n  \n  piVar2 = *(int **)(param_1 + 0x10);\n  piVar23 = (int *)((int)piVar2 + *(int *)(param_1 + 0x1c));\n  FUN_0004eb10();\n  FUN_0004e110();\n  do {\n    if (piVar23 <= piVar2) {\n      return 1;\n    }\n    piVar16 = piVar2 + 1;\n    piVar15 = piVar16;\n    if (piVar16 < piVar23) {\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }\n    uVar14 = (uint)(uVar4 >> 0x20);\n    if (*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }\n    piVar16 = (int *)((int)piVar15 + 2);\n    if (piVar16 < local_80) {\n      iVar9 = 2;\n    }\n    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }\n    uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);\n    pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar10,(uint)uVar7);\n    if (uVar7 != 5) {\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }\n    piVar22 = piVar15 + 1;\n    if (piVar22 < local_80) {\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }\n    piVar22 = piVar15 + 2;\n    piVar16 = piVar15 + 3;\n    if (piVar16 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }\n    else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }\n    puVar6 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar10);\n    if (local_88 != (int *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar10);\n    if (local_78 != 0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar10);\n    if (local_74 != (longlong *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }\n    putc(10,*(FILE **)puVar6);\n    puVar24 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar24);\n    local_50 = (int *)((int)local_4c + local_68);\n    local_68 = local_68 + (int)local_50;\n    piVar16 = (int *)(local_6c + local_68);\n    if (local_80 < piVar16) {\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }\n    pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5);\n    printf(pcVar10,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5);\n    printf(pcVar10,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (longlong *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }\n    pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar10);\n    if (local_44 != 0) {\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }\n    free(local_74);\n    piVar2 = local_80;\n  } while( true );\n}" type_identifier (function_declarator "FUN_00057f30(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  longlong *plVar1;\n  int *piVar2;\n  uint uVar3;\n  ulonglong uVar4;\n  longlong lVar5;\n  undefined *puVar6;\n  ushort uVar7;\n  short sVar8;\n  int iVar9;\n  char *pcVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int *piVar15;\n  int *piVar16;\n  longlong *plVar17;\n  undefined *puVar18;\n  uint *puVar19;\n  int iVar20;\n  uint uVar21;\n  int *piVar22;\n  int *piVar23;\n  uint *puVar24;\n  longlong lVar25;\n  undefined8 uVar26;\n  undefined8 uVar27;\n  longlong lVar28;\n  int local_94;\n  int *local_8c;\n  int *local_88;\n  int *local_80;\n  int local_7c;\n  int local_78;\n  longlong *local_74;\n  uint local_70;\n  int local_6c;\n  int local_68;\n  int *local_64;\n  int local_60;\n  int *local_50;\n  int *local_4c;\n  int local_44;\n  int local_20 [4];\n  \n  piVar2 = *(int **)(param_1 + 0x10);\n  piVar23 = (int *)((int)piVar2 + *(int *)(param_1 + 0x1c));\n  FUN_0004eb10();\n  FUN_0004e110();\n  do {\n    if (piVar23 <= piVar2) {\n      return 1;\n    }\n    piVar16 = piVar2 + 1;\n    piVar15 = piVar16;\n    if (piVar16 < piVar23) {\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }\n    uVar14 = (uint)(uVar4 >> 0x20);\n    if (*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }\n    piVar16 = (int *)((int)piVar15 + 2);\n    if (piVar16 < local_80) {\n      iVar9 = 2;\n    }\n    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }\n    uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);\n    pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar10,(uint)uVar7);\n    if (uVar7 != 5) {\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }\n    piVar22 = piVar15 + 1;\n    if (piVar22 < local_80) {\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }\n    piVar22 = piVar15 + 2;\n    piVar16 = piVar15 + 3;\n    if (piVar16 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }\n    else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }\n    puVar6 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar10);\n    if (local_88 != (int *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar10);\n    if (local_78 != 0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar10);\n    if (local_74 != (longlong *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }\n    putc(10,*(FILE **)puVar6);\n    puVar24 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar24);\n    local_50 = (int *)((int)local_4c + local_68);\n    local_68 = local_68 + (int)local_50;\n    piVar16 = (int *)(local_6c + local_68);\n    if (local_80 < piVar16) {\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }\n    pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5);\n    printf(pcVar10,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5);\n    printf(pcVar10,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (longlong *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }\n    pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar10);\n    if (local_44 != 0) {\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }\n    free(local_74);\n    piVar2 = local_80;\n  } while( true );\n}" { (declaration "longlong *plVar1;" type_identifier (pointer_declarator "*plVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "ulonglong uVar4;" type_identifier identifier ;) (declaration "longlong lVar5;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "ushort uVar7;" type_identifier identifier ;) (declaration "short sVar8;" (sized_type_specifier "short" short) identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "longlong *plVar17;" type_identifier (pointer_declarator "*plVar17" * identifier) ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "uint *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "uint *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "longlong lVar25;" type_identifier identifier ;) (declaration "undefined8 uVar26;" type_identifier identifier ;) (declaration "undefined8 uVar27;" type_identifier identifier ;) (declaration "longlong lVar28;" type_identifier identifier ;) (declaration "int local_94;" primitive_type identifier ;) (declaration "int *local_8c;" primitive_type (pointer_declarator "*local_8c" * identifier) ;) (declaration "int *local_88;" primitive_type (pointer_declarator "*local_88" * identifier) ;) (declaration "int *local_80;" primitive_type (pointer_declarator "*local_80" * identifier) ;) (declaration "int local_7c;" primitive_type identifier ;) (declaration "int local_78;" primitive_type identifier ;) (declaration "longlong *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "int local_6c;" primitive_type identifier ;) (declaration "int local_68;" primitive_type identifier ;) (declaration "int *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "int *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "int *local_4c;" primitive_type (pointer_declarator "*local_4c" * identifier) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_20 [4];" primitive_type (array_declarator "local_20 [4]" identifier [ number_literal ]) ;) (expression_statement "piVar2 = *(int **)(param_1 + 0x10);" (assignment_expression "piVar2 = *(int **)(param_1 + 0x10)" identifier = (pointer_expression "*(int **)(param_1 + 0x10)" * (cast_expression "(int **)(param_1 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "piVar23 = (int *)((int)piVar2 + *(int *)(param_1 + 0x1c));" (assignment_expression "piVar23 = (int *)((int)piVar2 + *(int *)(param_1 + 0x1c))" identifier = (cast_expression "(int *)((int)piVar2 + *(int *)(param_1 + 0x1c))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + *(int *)(param_1 + 0x1c))" ( (binary_expression "(int)piVar2 + *(int *)(param_1 + 0x1c)" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) )))) ;) (expression_statement "FUN_0004eb10();" (call_expression "FUN_0004eb10()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004e110();" (call_expression "FUN_0004e110()" identifier (argument_list "()" ( ))) ;) (do_statement "do {\n    if (piVar23 <= piVar2) {\n      return 1;\n    }\n    piVar16 = piVar2 + 1;\n    piVar15 = piVar16;\n    if (piVar16 < piVar23) {\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }\n    uVar14 = (uint)(uVar4 >> 0x20);\n    if (*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }\n    piVar16 = (int *)((int)piVar15 + 2);\n    if (piVar16 < local_80) {\n      iVar9 = 2;\n    }\n    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }\n    uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);\n    pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar10,(uint)uVar7);\n    if (uVar7 != 5) {\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }\n    piVar22 = piVar15 + 1;\n    if (piVar22 < local_80) {\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }\n    piVar22 = piVar15 + 2;\n    piVar16 = piVar15 + 3;\n    if (piVar16 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }\n    else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }\n    puVar6 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar10);\n    if (local_88 != (int *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar10);\n    if (local_78 != 0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar10);\n    if (local_74 != (longlong *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }\n    putc(10,*(FILE **)puVar6);\n    puVar24 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar24);\n    local_50 = (int *)((int)local_4c + local_68);\n    local_68 = local_68 + (int)local_50;\n    piVar16 = (int *)(local_6c + local_68);\n    if (local_80 < piVar16) {\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }\n    pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5);\n    printf(pcVar10,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5);\n    printf(pcVar10,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (longlong *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }\n    pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar10);\n    if (local_44 != 0) {\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }\n    free(local_74);\n    piVar2 = local_80;\n  } while( true );" do (compound_statement "{\n    if (piVar23 <= piVar2) {\n      return 1;\n    }\n    piVar16 = piVar2 + 1;\n    piVar15 = piVar16;\n    if (piVar16 < piVar23) {\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }\n    uVar14 = (uint)(uVar4 >> 0x20);\n    if (*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }\n    piVar16 = (int *)((int)piVar15 + 2);\n    if (piVar16 < local_80) {\n      iVar9 = 2;\n    }\n    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }\n    uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);\n    pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar10,(uint)uVar7);\n    if (uVar7 != 5) {\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }\n    piVar22 = piVar15 + 1;\n    if (piVar22 < local_80) {\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }\n    piVar22 = piVar15 + 2;\n    piVar16 = piVar15 + 3;\n    if (piVar16 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }\n    else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }\n    puVar6 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar10);\n    if (local_88 != (int *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar10);\n    if (local_78 != 0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar10);\n    if (local_74 != (longlong *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }\n    putc(10,*(FILE **)puVar6);\n    puVar24 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar24);\n    local_50 = (int *)((int)local_4c + local_68);\n    local_68 = local_68 + (int)local_50;\n    piVar16 = (int *)(local_6c + local_68);\n    if (local_80 < piVar16) {\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }\n    pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5);\n    printf(pcVar10,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5);\n    printf(pcVar10,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (longlong *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }\n    pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar10);\n    if (local_44 != 0) {\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }\n    free(local_74);\n    piVar2 = local_80;\n  }" { (if_statement "if (piVar23 <= piVar2) {\n      return 1;\n    }" if (parenthesized_expression "(piVar23 <= piVar2)" ( (binary_expression "piVar23 <= piVar2" identifier <= identifier) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "piVar16 = piVar2 + 1;" (assignment_expression "piVar16 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) (expression_statement "piVar15 = piVar16;" (assignment_expression "piVar15 = piVar16" identifier = identifier) ;) (if_statement "if (piVar16 < piVar23) {\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }" if (parenthesized_expression "(piVar16 < piVar23)" ( (binary_expression "piVar16 < piVar23" identifier < identifier) )) (compound_statement "{\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }" { (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);" statement_identifier : (expression_statement "lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);" (assignment_expression "lVar25 = (*DAT_000b9dd4)(piVar2,iVar9)" identifier = (call_expression "(*DAT_000b9dd4)(piVar2,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar2,iVar9)" ( identifier , identifier )))) ;)) (expression_statement "local_7c = 4;" (assignment_expression "local_7c = 4" identifier = number_literal) ;) (if_statement "if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }" if (parenthesized_expression "(lVar25 == 0xffffffff)" ( (binary_expression "lVar25 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }" { (expression_statement "piVar15 = piVar2 + 3;" (assignment_expression "piVar15 = piVar2 + 3" identifier = (binary_expression "piVar2 + 3" identifier + number_literal)) ;) (if_statement "if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }" if (parenthesized_expression "(piVar15 < piVar23)" ( (binary_expression "piVar15 < piVar23" identifier < identifier) )) (compound_statement "{\n          iVar9 = 8;\n        }" { (expression_statement "iVar9 = 8;" (assignment_expression "iVar9 = 8" identifier = number_literal) ;) }) (else_clause "else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }" else (if_statement "if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }" if (parenthesized_expression "((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U))" ( (binary_expression "(piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)" (parenthesized_expression "(piVar23 <= piVar16)" ( (binary_expression "piVar23 <= piVar16" identifier <= identifier) )) || (parenthesized_expression "(iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)" ( (comma_expression "iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U" (assignment_expression "iVar9 = (int)piVar23 - (int)piVar16" identifier = (binary_expression "(int)piVar23 - (int)piVar16" (cast_expression "(int)piVar23" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar9 - 1U" number_literal < (binary_expression "iVar9 - 1U" identifier - number_literal))) ))) )) (compound_statement "{\n          local_7c = 8;\n          goto LAB_00057fac;\n        }" { (expression_statement "local_7c = 8;" (assignment_expression "local_7c = 8" identifier = number_literal) ;) (goto_statement "goto LAB_00057fac;" goto statement_identifier ;) })))) (expression_statement "lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);" (assignment_expression "lVar25 = (*DAT_000b9dd4)(piVar16,iVar9)" identifier = (call_expression "(*DAT_000b9dd4)(piVar16,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar16,iVar9)" ( identifier , identifier )))) ;) (expression_statement "local_7c = 8;" (assignment_expression "local_7c = 8" identifier = number_literal) ;) })) (expression_statement "local_94 = (int)lVar25;" (assignment_expression "local_94 = (int)lVar25" identifier = (cast_expression "(int)lVar25" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_80 = (int *)((int)piVar15 + local_94);" (assignment_expression "local_80 = (int *)((int)piVar15 + local_94)" identifier = (cast_expression "(int *)((int)piVar15 + local_94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + local_94)" ( (binary_expression "(int)piVar15 + local_94" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);" (assignment_expression "uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10)" identifier = (binary_expression "(int)piVar15 - *(int *)(param_1 + 0x10)" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))))) ;) (expression_statement "uVar4 = lVar25 + (ulonglong)uVar14;" (assignment_expression "uVar4 = lVar25 + (ulonglong)uVar14" identifier = (binary_expression "lVar25 + (ulonglong)uVar14" identifier + (cast_expression "(ulonglong)uVar14" ( (type_descriptor "ulonglong" type_identifier) ) identifier))) ;) (if_statement "if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;" if (parenthesized_expression "((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14))" ( (binary_expression "(uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)" (call_expression "(uint)(uVar4 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 >> 0x20)" ( (binary_expression "uVar4 >> 0x20" identifier >> number_literal) ))) < (call_expression "(uint)((uint)uVar4 < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)uVar4 < uVar14)" ( (binary_expression "(uint)uVar4 < uVar14" (cast_expression "(uint)uVar4" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) )))) )) (goto_statement "goto LAB_000580cc;" goto statement_identifier ;)) }) (else_clause "else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }" else (compound_statement "{\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }" { (expression_statement "iVar9 = (int)piVar23 - (int)piVar2;" (assignment_expression "iVar9 = (int)piVar23 - (int)piVar2" identifier = (binary_expression "(int)piVar23 - (int)piVar2" (cast_expression "(int)piVar23" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar9 - 1U < 8) goto LAB_00058065;" if (parenthesized_expression "(iVar9 - 1U < 8)" ( (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_00058065;" goto statement_identifier ;)) (expression_statement "local_7c = 4;" (assignment_expression "local_7c = 4" identifier = number_literal) ;) (labeled_statement "LAB_00057fac:\n      local_94 = 0;" statement_identifier : (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;)) (expression_statement "uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));" (assignment_expression "uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10))" identifier = (call_expression "(ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10))" (call_expression "(ulonglong)(uint)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "((int)piVar15 - *(int *)(param_1 + 0x10))" ( (binary_expression "(int)piVar15 - *(int *)(param_1 + 0x10)" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) )))) ;) (expression_statement "local_80 = piVar15;" (assignment_expression "local_80 = piVar15" identifier = identifier) ;) }))) (expression_statement "uVar14 = (uint)(uVar4 >> 0x20);" (assignment_expression "uVar14 = (uint)(uVar4 >> 0x20)" identifier = (call_expression "(uint)(uVar4 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 >> 0x20)" ( (binary_expression "uVar4 >> 0x20" identifier >> number_literal) )))) ;) (if_statement "if (*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }" if (parenthesized_expression "(*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4))" ( (binary_expression "*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)" (binary_expression "*(uint *)(param_1 + 0x20) < uVar14" (pointer_expression "*(uint *)(param_1 + 0x20)" * (cast_expression "(uint *)(param_1 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) < identifier) || (binary_expression "*(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)" (binary_expression "*(uint *)(param_1 + 0x20) - uVar14" (pointer_expression "*(uint *)(param_1 + 0x20)" * (cast_expression "(uint *)(param_1 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) - identifier) < (call_expression "(uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_1 + 0x1c) < (uint)uVar4)" ( (binary_expression "*(uint *)(param_1 + 0x1c) < (uint)uVar4" (pointer_expression "*(uint *)(param_1 + 0x1c)" * (cast_expression "(uint *)(param_1 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) < (cast_expression "(uint)uVar4" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) )) (compound_statement "{\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }" { (labeled_statement "LAB_000580cc:\n      uVar12 = FUN_0004cb30(0);" statement_identifier : (expression_statement "uVar12 = FUN_0004cb30(0);" (assignment_expression "uVar12 = FUN_0004cb30(0)" identifier = (call_expression "FUN_0004cb30(0)" identifier (argument_list "(0)" ( number_literal )))) ;)) (expression_statement "iVar9 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x10)" identifier = (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar11 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);" (assignment_expression "uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" identifier = (call_expression "dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" identifier (argument_list "(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" ( number_literal , (string_literal ""Debug info is corrupted, %s header at %#lx has length %s\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);" (call_expression "warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12)" identifier (argument_list "(uVar13,uVar11,(int)piVar2 - iVar9,uVar12)" ( identifier , identifier , (binary_expression "(int)piVar2 - iVar9" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "piVar16 = (int *)((int)piVar15 + 2);" (assignment_expression "piVar16 = (int *)((int)piVar15 + 2)" identifier = (cast_expression "(int *)((int)piVar15 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 2)" ( (binary_expression "(int)piVar15 + 2" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (piVar16 < local_80) {\n      iVar9 = 2;\n    }\n    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }" if (parenthesized_expression "(piVar16 < local_80)" ( (binary_expression "piVar16 < local_80" identifier < identifier) )) (compound_statement "{\n      iVar9 = 2;\n    }" { (expression_statement "iVar9 = 2;" (assignment_expression "iVar9 = 2" identifier = number_literal) ;) }) (else_clause "else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }" else (if_statement "if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }" if (parenthesized_expression "((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U))" ( (binary_expression "(local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)" (parenthesized_expression "(local_80 <= piVar15)" ( (binary_expression "local_80 <= piVar15" identifier <= identifier) )) || (parenthesized_expression "(iVar9 = local_94, 7 < local_94 - 1U)" ( (comma_expression "iVar9 = local_94, 7 < local_94 - 1U" (assignment_expression "iVar9 = local_94" identifier = identifier) , (binary_expression "7 < local_94 - 1U" number_literal < (binary_expression "local_94 - 1U" identifier - number_literal))) ))) )) (compound_statement "{\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Version %ld\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Version %ld\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Version %ld\n",5)" identifier (argument_list "(0,"Version %ld\n",5)" ( number_literal , (string_literal ""Version %ld\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,0);" (call_expression "printf(pcVar10,0)" identifier (argument_list "(pcVar10,0)" ( identifier , number_literal ))) ;) (goto_statement "goto LAB_00058029;" goto statement_identifier ;) })))) (expression_statement "uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);" (assignment_expression "uVar7 = (*DAT_000b9dd4)(piVar15,iVar9)" identifier = (call_expression "(*DAT_000b9dd4)(piVar15,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar15,iVar9)" ( identifier , identifier )))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Version %ld\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Version %ld\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Version %ld\n",5)" identifier (argument_list "(0,"Version %ld\n",5)" ( number_literal , (string_literal ""Version %ld\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,(uint)uVar7);" (call_expression "printf(pcVar10,(uint)uVar7)" identifier (argument_list "(pcVar10,(uint)uVar7)" ( identifier , (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (if_statement "if (uVar7 != 5) {\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }" if (parenthesized_expression "(uVar7 != 5)" ( (binary_expression "uVar7 != 5" identifier != number_literal) )) (compound_statement "{\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }" { (labeled_statement "LAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);" statement_identifier : (expression_statement "uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);" (assignment_expression "uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5)" identifier = (call_expression "dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5)" identifier (argument_list "(0,"Only DWARF version 5 .debug_names is currently supported.\n",5)" ( number_literal , (string_literal ""Only DWARF version 5 .debug_names is currently supported.\n"" " string_content escape_sequence ") , number_literal )))) ;)) (expression_statement "warn(uVar11);" (call_expression "warn(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "piVar22 = piVar15 + 1;" (assignment_expression "piVar22 = piVar15 + 1" identifier = (binary_expression "piVar15 + 1" identifier + number_literal)) ;) (if_statement "if (piVar22 < local_80) {\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }" if (parenthesized_expression "(piVar22 < local_80)" ( (binary_expression "piVar22 < local_80" identifier < identifier) )) (compound_statement "{\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }" { (expression_statement "local_94 = 2;" (assignment_expression "local_94 = 2" identifier = number_literal) ;) (labeled_statement "LAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);" statement_identifier : (expression_statement "sVar8 = (*DAT_000b9dd4)(piVar16,local_94);" (assignment_expression "sVar8 = (*DAT_000b9dd4)(piVar16,local_94)" identifier = (call_expression "(*DAT_000b9dd4)(piVar16,local_94)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar16,local_94)" ( identifier , identifier )))) ;)) (if_statement "if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }" if (parenthesized_expression "(sVar8 != 0)" ( (binary_expression "sVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }" { (expression_statement "uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);" (assignment_expression "uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5)" identifier = (call_expression "dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5)" identifier (argument_list "(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5)" ( number_literal , (string_literal ""Padding field of .debug_names must be 0 (found 0x%x)\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar11,sVar8);" (call_expression "warn(uVar11,sVar8)" identifier (argument_list "(uVar11,sVar8)" ( identifier , identifier ))) ;) })) (if_statement "if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;" if (parenthesized_expression "(piVar15 + 2 < local_80)" ( (binary_expression "piVar15 + 2 < local_80" (binary_expression "piVar15 + 2" identifier + number_literal) < identifier) )) (compound_statement "{\nLAB_000581ba:\n        iVar9 = 4;\n      }" { (labeled_statement "LAB_000581ba:\n        iVar9 = 4;" statement_identifier : (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;)) }) (else_clause "else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;" else (if_statement "if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;" if (parenthesized_expression "((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))" ( (binary_expression "(local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U)" (parenthesized_expression "(local_80 <= piVar22)" ( (binary_expression "local_80 <= piVar22" identifier <= identifier) )) || (parenthesized_expression "(iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U)" ( (comma_expression "iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U" (assignment_expression "iVar9 = (int)local_80 - (int)piVar22" identifier = (binary_expression "(int)local_80 - (int)piVar22" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar22" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar9 - 1U" number_literal < (binary_expression "iVar9 - 1U" identifier - number_literal))) ))) )) (goto_statement "goto LAB_000581d8;" goto statement_identifier ;)))) (expression_statement "local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);" (assignment_expression "local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9)" identifier = (cast_expression "(int *)(*DAT_000b9dd4)(piVar22,iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*DAT_000b9dd4)(piVar22,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar22,iVar9)" ( identifier , identifier ))))) ;) (if_statement "if (local_88 == (int *)0x0) goto LAB_000581d8;" if (parenthesized_expression "(local_88 == (int *)0x0)" ( (binary_expression "local_88 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000581d8;" goto statement_identifier ;)) }) (else_clause "else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }" else (compound_statement "{\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }" { (if_statement "if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }" if (parenthesized_expression "((piVar16 < local_80) && (local_94 - 3U < 8))" ( (binary_expression "(piVar16 < local_80) && (local_94 - 3U < 8)" (parenthesized_expression "(piVar16 < local_80)" ( (binary_expression "piVar16 < local_80" identifier < identifier) )) && (parenthesized_expression "(local_94 - 3U < 8)" ( (binary_expression "local_94 - 3U < 8" (binary_expression "local_94 - 3U" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }" { (expression_statement "local_94 = local_94 + -2;" (assignment_expression "local_94 = local_94 + -2" identifier = (binary_expression "local_94 + -2" identifier + number_literal)) ;) (goto_statement "goto LAB_00058e95;" goto statement_identifier ;) })) (if_statement "if (piVar15 + 2 < local_80) goto LAB_000581ba;" if (parenthesized_expression "(piVar15 + 2 < local_80)" ( (binary_expression "piVar15 + 2 < local_80" (binary_expression "piVar15 + 2" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_000581ba;" goto statement_identifier ;)) (labeled_statement "LAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);" statement_identifier : (expression_statement "uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);" (assignment_expression "uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5)" identifier = (call_expression "dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5)" identifier (argument_list "(0,"Compilation unit count must be >= 1 in .debug_names\n",5)" ( number_literal , (string_literal ""Compilation unit count must be >= 1 in .debug_names\n"" " string_content escape_sequence ") , number_literal )))) ;)) (expression_statement "warn(uVar11);" (call_expression "warn(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))) ;) (expression_statement "local_88 = (int *)0x0;" (assignment_expression "local_88 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "piVar22 = piVar15 + 2;" (assignment_expression "piVar22 = piVar15 + 2" identifier = (binary_expression "piVar15 + 2" identifier + number_literal)) ;) (expression_statement "piVar16 = piVar15 + 3;" (assignment_expression "piVar16 = piVar15 + 3" identifier = (binary_expression "piVar15 + 3" identifier + number_literal)) ;) (if_statement "if (piVar16 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }\n    else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }" if (parenthesized_expression "(piVar16 < local_80)" ( (binary_expression "piVar16 < local_80" identifier < identifier) )) (compound_statement "{\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }" { (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);" statement_identifier : (expression_statement "local_78 = (*DAT_000b9dd4)(piVar22,iVar9);" (assignment_expression "local_78 = (*DAT_000b9dd4)(piVar22,iVar9)" identifier = (call_expression "(*DAT_000b9dd4)(piVar22,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar22,iVar9)" ( identifier , identifier )))) ;)) (if_statement "if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;" if (parenthesized_expression "(piVar15 + 4 < local_80)" ( (binary_expression "piVar15 + 4 < local_80" (binary_expression "piVar15 + 4" identifier + number_literal) < identifier) )) (compound_statement "{\nLAB_00058f20:\n        iVar9 = 4;\n      }" { (labeled_statement "LAB_00058f20:\n        iVar9 = 4;" statement_identifier : (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;)) }) (else_clause "else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;" else (if_statement "if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;" if (parenthesized_expression "((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))" ( (binary_expression "(local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U)" (parenthesized_expression "(local_80 <= piVar16)" ( (binary_expression "local_80 <= piVar16" identifier <= identifier) )) || (parenthesized_expression "(iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U)" ( (comma_expression "iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U" (assignment_expression "iVar9 = (int)local_80 - (int)piVar16" identifier = (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar9 - 1U" number_literal < (binary_expression "iVar9 - 1U" identifier - number_literal))) ))) )) (goto_statement "goto LAB_0005823a;" goto statement_identifier ;)))) (expression_statement "local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);" (assignment_expression "local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9)" identifier = (cast_expression "(longlong *)(*DAT_000b9dd4)(piVar16,iVar9)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*DAT_000b9dd4)(piVar16,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar16,iVar9)" ( identifier , identifier ))))) ;) (if_statement "if (piVar15 + 5 < local_80) goto LAB_00058f60;" if (parenthesized_expression "(piVar15 + 5 < local_80)" ( (binary_expression "piVar15 + 5 < local_80" (binary_expression "piVar15 + 5" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00058f60;" goto statement_identifier ;)) (if_statement "if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;" if (parenthesized_expression "((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))" ( (binary_expression "(piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8)" (parenthesized_expression "(piVar15 + 4 < local_80)" ( (binary_expression "piVar15 + 4 < local_80" (binary_expression "piVar15 + 4" identifier + number_literal) < identifier) )) && (parenthesized_expression "(iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8)" ( (comma_expression "iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)(piVar15 + 4)" identifier = (binary_expression "(int)local_80 - (int)(piVar15 + 4)" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(piVar15 + 4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar15 + 4)" ( (binary_expression "piVar15 + 4" identifier + number_literal) ))))) , (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00058f65;" goto statement_identifier ;)) (labeled_statement "LAB_0005824f:\n      local_64 = (int *)0x0;" statement_identifier : (expression_statement "local_64 = (int *)0x0;" (assignment_expression "local_64 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (if_statement "if (local_80 <= piVar15 + 6) goto LAB_0005826c;" if (parenthesized_expression "(local_80 <= piVar15 + 6)" ( (binary_expression "local_80 <= piVar15 + 6" identifier <= (binary_expression "piVar15 + 6" identifier + number_literal)) )) (goto_statement "goto LAB_0005826c;" goto statement_identifier ;)) (labeled_statement "LAB_00058e1a:\n      iVar9 = 4;" statement_identifier : (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;)) (labeled_statement "LAB_00058e1f:\n      piVar16 = piVar15 + 6;" statement_identifier : (expression_statement "piVar16 = piVar15 + 6;" (assignment_expression "piVar16 = piVar15 + 6" identifier = (binary_expression "piVar15 + 6" identifier + number_literal)) ;)) (expression_statement "local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);" (assignment_expression "local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9)" identifier = (call_expression "(*DAT_000b9dd4)(piVar15 + 5,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar15 + 5,iVar9)" ( (binary_expression "piVar15 + 5" identifier + number_literal) , identifier )))) ;) (expression_statement "local_60 = local_44 * 4;" (assignment_expression "local_60 = local_44 * 4" identifier = (binary_expression "local_44 * 4" identifier * number_literal)) ;) (expression_statement "local_68 = local_44 * local_7c;" (assignment_expression "local_68 = local_44 * local_7c" identifier = (binary_expression "local_44 * local_7c" identifier * identifier)) ;) (if_statement "if (piVar15 + 7 < local_80) goto LAB_00058df0;" if (parenthesized_expression "(piVar15 + 7 < local_80)" ( (binary_expression "piVar15 + 7 < local_80" (binary_expression "piVar15 + 7" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00058df0;" goto statement_identifier ;)) (if_statement "if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }" if (parenthesized_expression "(local_80 <= piVar16)" ( (binary_expression "local_80 <= piVar16" identifier <= identifier) )) (compound_statement "{\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }" { (labeled_statement "LAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }" statement_identifier : (if_statement "if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }" if (parenthesized_expression "(piVar15 + 8 < local_80)" ( (binary_expression "piVar15 + 8 < local_80" (binary_expression "piVar15 + 8" identifier + number_literal) < identifier) )) (compound_statement "{\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }" { (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;) (goto_statement "goto LAB_000582ab;" goto statement_identifier ;) }))) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005838d;" goto statement_identifier ;) })) (expression_statement "uVar14 = ((int)local_80 - (int)piVar16) - 1;" (assignment_expression "uVar14 = ((int)local_80 - (int)piVar16) - 1" identifier = (binary_expression "((int)local_80 - (int)piVar16) - 1" (parenthesized_expression "((int)local_80 - (int)piVar16)" ( (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal)) ;) (if_statement "if (7 < uVar14) goto LAB_00058291;" if (parenthesized_expression "(7 < uVar14)" ( (binary_expression "7 < uVar14" number_literal < identifier) )) (goto_statement "goto LAB_00058291;" goto statement_identifier ;)) (expression_statement "local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);" (assignment_expression "local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14)" identifier = (call_expression "(*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14)" ( identifier , (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier , identifier )))) ;) (if_statement "if (local_80 <= piVar15 + 8) goto LAB_0005838d;" if (parenthesized_expression "(local_80 <= piVar15 + 8)" ( (binary_expression "local_80 <= piVar15 + 8" identifier <= (binary_expression "piVar15 + 8" identifier + number_literal)) )) (goto_statement "goto LAB_0005838d;" goto statement_identifier ;)) (labeled_statement "LAB_00058e10:\n      iVar9 = 4;" statement_identifier : (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;)) (labeled_statement "LAB_000582ab:\n      local_8c = piVar15 + 8;" statement_identifier : (expression_statement "local_8c = piVar15 + 8;" (assignment_expression "local_8c = piVar15 + 8" identifier = (binary_expression "piVar15 + 8" identifier + number_literal)) ;)) (expression_statement "uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);" (assignment_expression "uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9)" identifier = (call_expression "(*DAT_000b9dd4)(piVar15 + 7,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar15 + 7,iVar9)" ( (binary_expression "piVar15 + 7" identifier + number_literal) , identifier )))) ;) (if_statement "if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }" if (parenthesized_expression "((uVar14 & 3) != 0)" ( (binary_expression "(uVar14 & 3) != 0" (parenthesized_expression "(uVar14 & 3)" ( (binary_expression "uVar14 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }" { (expression_statement "uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);" (assignment_expression "uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5)" identifier = (call_expression "dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5)" identifier (argument_list "(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5)" ( number_literal , (string_literal ""Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar11,uVar14);" (call_expression "warn(uVar11,uVar14)" identifier (argument_list "(uVar11,uVar14)" ( identifier , identifier ))) ;) (expression_statement "uVar14 = uVar14 + (-uVar14 & 3);" (assignment_expression "uVar14 = uVar14 + (-uVar14 & 3)" identifier = (binary_expression "uVar14 + (-uVar14 & 3)" identifier + (parenthesized_expression "(-uVar14 & 3)" ( (binary_expression "-uVar14 & 3" (unary_expression "-uVar14" - identifier) & number_literal) )))) ;) })) (expression_statement "pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Augmentation string:",5)" identifier = (cast_expression "(char *)dcgettext(0,"Augmentation string:",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Augmentation string:",5)" identifier (argument_list "(0,"Augmentation string:",5)" ( number_literal , (string_literal ""Augmentation string:"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (if_statement "if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }" if (parenthesized_expression "(uVar14 != 0)" ( (binary_expression "uVar14 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }" { (expression_statement "piVar16 = (int *)((int)local_8c + uVar14);" (assignment_expression "piVar16 = (int *)((int)local_8c + uVar14)" identifier = (cast_expression "(int *)((int)local_8c + uVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c + uVar14)" ( (binary_expression "(int)local_8c + uVar14" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "piVar15 = local_8c;" (assignment_expression "piVar15 = local_8c" identifier = identifier) ;) (do_statement "do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);" do (compound_statement "{\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        }" { (expression_statement "piVar22 = (int *)((int)piVar15 + 1);" (assignment_expression "piVar22 = (int *)((int)piVar15 + 1)" identifier = (cast_expression "(int *)((int)piVar15 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 1)" ( (binary_expression "(int)piVar15 + 1" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }" if (parenthesized_expression "(piVar22 < local_80)" ( (binary_expression "piVar22 < local_80" identifier < identifier) )) (compound_statement "{\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }" { (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);" statement_identifier : (expression_statement "uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);" (assignment_expression "uVar14 = (*DAT_000b9dd4)(piVar15,iVar9)" identifier = (call_expression "(*DAT_000b9dd4)(piVar15,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar15,iVar9)" ( identifier , identifier )))) ;)) (expression_statement "uVar14 = uVar14 & 0xff;" (assignment_expression "uVar14 = uVar14 & 0xff" identifier = (binary_expression "uVar14 & 0xff" identifier & number_literal)) ;) }) (else_clause "else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }" else (compound_statement "{\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }" { (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (if_statement "if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;" if (parenthesized_expression "((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))" ( (binary_expression "(piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8)" (parenthesized_expression "(piVar15 < local_80)" ( (binary_expression "piVar15 < local_80" identifier < identifier) )) && (parenthesized_expression "(iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8)" ( (comma_expression "iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)piVar15" identifier = (binary_expression "(int)local_80 - (int)piVar15" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00058368;" goto statement_identifier ;)) }))) (expression_statement "printf(" %02x",uVar14);" (call_expression "printf(" %02x",uVar14)" identifier (argument_list "(" %02x",uVar14)" ( (string_literal "" %02x"" " string_content ") , identifier ))) ;) (expression_statement "piVar15 = piVar22;" (assignment_expression "piVar15 = piVar22" identifier = identifier) ;) (expression_statement "local_8c = piVar16;" (assignment_expression "local_8c = piVar16" identifier = identifier) ;) }) while (parenthesized_expression "(piVar22 != piVar16)" ( (binary_expression "piVar22 != piVar16" identifier != identifier) )) ;) })) }) (else_clause "else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }" else (compound_statement "{\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }" { (if_statement "if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;" if (parenthesized_expression "((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))" ( (binary_expression "(piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8)" (parenthesized_expression "(piVar22 < local_80)" ( (binary_expression "piVar22 < local_80" identifier < identifier) )) && (parenthesized_expression "(iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8)" ( (comma_expression "iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)piVar22" identifier = (binary_expression "(int)local_80 - (int)piVar22" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar22" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00058ee1;" goto statement_identifier ;)) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (if_statement "if (piVar15 + 4 < local_80) goto LAB_00058f20;" if (parenthesized_expression "(piVar15 + 4 < local_80)" ( (binary_expression "piVar15 + 4 < local_80" (binary_expression "piVar15 + 4" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00058f20;" goto statement_identifier ;)) (labeled_statement "LAB_0005823a:\n      local_74 = (longlong *)0x0;" statement_identifier : (expression_statement "local_74 = (longlong *)0x0;" (assignment_expression "local_74 = (longlong *)0x0" identifier = (cast_expression "(longlong *)0x0" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if (local_80 <= piVar15 + 5) goto LAB_0005824f;" if (parenthesized_expression "(local_80 <= piVar15 + 5)" ( (binary_expression "local_80 <= piVar15 + 5" identifier <= (binary_expression "piVar15 + 5" identifier + number_literal)) )) (goto_statement "goto LAB_0005824f;" goto statement_identifier ;)) (labeled_statement "LAB_00058f60:\n      iVar9 = 4;" statement_identifier : (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;)) (labeled_statement "LAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);" statement_identifier : (expression_statement "local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);" (assignment_expression "local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9)" identifier = (call_expression "(*DAT_000b9dd4)(piVar15 + 4,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar15 + 4,iVar9)" ( (binary_expression "piVar15 + 4" identifier + number_literal) , identifier )))) ;)) (expression_statement "local_64 = (int *)(local_70 << 2);" (assignment_expression "local_64 = (int *)(local_70 << 2)" identifier = (cast_expression "(int *)(local_70 << 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_70 << 2)" ( (binary_expression "local_70 << 2" identifier << number_literal) )))) ;) (if_statement "if (piVar15 + 6 < local_80) goto LAB_00058e1a;" if (parenthesized_expression "(piVar15 + 6 < local_80)" ( (binary_expression "piVar15 + 6 < local_80" (binary_expression "piVar15 + 6" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00058e1a;" goto statement_identifier ;)) (if_statement "if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;" if (parenthesized_expression "((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))" ( (binary_expression "(piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8)" (parenthesized_expression "(piVar15 + 5 < local_80)" ( (binary_expression "piVar15 + 5 < local_80" (binary_expression "piVar15 + 5" identifier + number_literal) < identifier) )) && (parenthesized_expression "(iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8)" ( (comma_expression "iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)(piVar15 + 5)" identifier = (binary_expression "(int)local_80 - (int)(piVar15 + 5)" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(piVar15 + 5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar15 + 5)" ( (binary_expression "piVar15 + 5" identifier + number_literal) ))))) , (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00058e1f;" goto statement_identifier ;)) (labeled_statement "LAB_0005826c:\n      local_68 = 0;" statement_identifier : (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;)) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (if_statement "if (local_80 <= piVar15 + 7) goto LAB_00058291;" if (parenthesized_expression "(local_80 <= piVar15 + 7)" ( (binary_expression "local_80 <= piVar15 + 7" identifier <= (binary_expression "piVar15 + 7" identifier + number_literal)) )) (goto_statement "goto LAB_00058291;" goto statement_identifier ;)) (labeled_statement "LAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);" statement_identifier : (expression_statement "local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);" (assignment_expression "local_6c = (*DAT_000b9dd4)(piVar15 + 6,4)" identifier = (call_expression "(*DAT_000b9dd4)(piVar15 + 6,4)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar15 + 6,4)" ( (binary_expression "piVar15 + 6" identifier + number_literal) , number_literal )))) ;)) (if_statement "if (piVar15 + 8 < local_80) goto LAB_00058e10;" if (parenthesized_expression "(piVar15 + 8 < local_80)" ( (binary_expression "piVar15 + 8 < local_80" (binary_expression "piVar15 + 8" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00058e10;" goto statement_identifier ;)) (expression_statement "iVar9 = (int)local_80 - (int)(piVar15 + 7);" (assignment_expression "iVar9 = (int)local_80 - (int)(piVar15 + 7)" identifier = (binary_expression "(int)local_80 - (int)(piVar15 + 7)" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(piVar15 + 7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar15 + 7)" ( (binary_expression "piVar15 + 7" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 - 1U < 8) goto LAB_000582ab;" if (parenthesized_expression "(iVar9 - 1U < 8)" ( (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_000582ab;" goto statement_identifier ;)) (labeled_statement "LAB_0005838d:\n      local_8c = piVar15 + 8;" statement_identifier : (expression_statement "local_8c = piVar15 + 8;" (assignment_expression "local_8c = piVar15 + 8" identifier = (binary_expression "piVar15 + 8" identifier + number_literal)) ;)) (expression_statement "pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Augmentation string:",5)" identifier = (cast_expression "(char *)dcgettext(0,"Augmentation string:",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Augmentation string:",5)" identifier (argument_list "(0,"Augmentation string:",5)" ( number_literal , (string_literal ""Augmentation string:"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) }))) (expression_statement "puVar6 = PTR_stdout_000b3fd8;" (assignment_expression "puVar6 = PTR_stdout_000b3fd8" identifier = identifier) ;) (expression_statement "putc(10,*(FILE **)PTR_stdout_000b3fd8);" (call_expression "putc(10,*(FILE **)PTR_stdout_000b3fd8)" identifier (argument_list "(10,*(FILE **)PTR_stdout_000b3fd8)" ( number_literal , (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" * (cast_expression "(FILE **)PTR_stdout_000b3fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "putc(10,*(FILE **)puVar6);" (call_expression "putc(10,*(FILE **)puVar6)" identifier (argument_list "(10,*(FILE **)puVar6)" ( number_literal , (pointer_expression "*(FILE **)puVar6" * (cast_expression "(FILE **)puVar6" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"CU table:\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"CU table:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"CU table:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"CU table:\n",5)" identifier (argument_list "(0,"CU table:\n",5)" ( number_literal , (string_literal ""CU table:\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (if_statement "if (local_88 != (int *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }" if (parenthesized_expression "(local_88 != (int *)0x0)" ( (binary_expression "local_88 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }" { (expression_statement "piVar16 = local_8c;" (assignment_expression "piVar16 = local_8c" identifier = identifier) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);" do (compound_statement "{\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      }" { (expression_statement "piVar15 = (int *)((int)piVar16 + local_7c);" (assignment_expression "piVar15 = (int *)((int)piVar16 + local_7c)" identifier = (cast_expression "(int *)((int)piVar16 + local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + local_7c)" ( (binary_expression "(int)piVar16 + local_7c" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar20 = local_7c;" (assignment_expression "iVar20 = local_7c" identifier = identifier) ;) (if_statement "if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }" if (parenthesized_expression "((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8))))" ( (binary_expression "(piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))" (parenthesized_expression "(piVar15 < local_80)" ( (binary_expression "piVar15 < local_80" identifier < identifier) )) || (parenthesized_expression "((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))" ( (parenthesized_expression "(uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8))" ( (comma_expression "uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)" (assignment_expression "uVar11 = 0" identifier = number_literal) , (binary_expression "(int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)" (binary_expression "(int *)((int)piVar15 - local_7c) < local_80" (cast_expression "(int *)((int)piVar15 - local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 - local_7c)" ( (binary_expression "(int)piVar15 - local_7c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) ))) < identifier) && (parenthesized_expression "(iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)" ( (comma_expression "iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8" (assignment_expression "iVar20 = (int)local_80 - (int)piVar16" identifier = (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "((int)local_80 - (int)piVar16) - 1U < 8" (binary_expression "((int)local_80 - (int)piVar16) - 1U" (parenthesized_expression "((int)local_80 - (int)piVar16)" ( (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }" { (expression_statement "uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);" (assignment_expression "uVar11 = (*DAT_000b9dd4)(piVar16,iVar20)" identifier = (call_expression "(*DAT_000b9dd4)(piVar16,iVar20)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar16,iVar20)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"[%3u] 0x%lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"[%3u] 0x%lx\n",5)" identifier (argument_list "(0,"[%3u] 0x%lx\n",5)" ( number_literal , (string_literal ""[%3u] 0x%lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "iVar20 = iVar9 + 1;" (assignment_expression "iVar20 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "printf(pcVar10,iVar9,uVar11);" (call_expression "printf(pcVar10,iVar9,uVar11)" identifier (argument_list "(pcVar10,iVar9,uVar11)" ( identifier , identifier , identifier ))) ;) (expression_statement "piVar16 = piVar15;" (assignment_expression "piVar16 = piVar15" identifier = identifier) ;) (expression_statement "iVar9 = iVar20;" (assignment_expression "iVar9 = iVar20" identifier = identifier) ;) }) while (parenthesized_expression "(local_88 != (int *)iVar20)" ( (binary_expression "local_88 != (int *)iVar20" identifier != (cast_expression "(int *)iVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) (expression_statement "local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);" (assignment_expression "local_8c = (int *)((int)local_8c + (int)local_88 * local_7c)" identifier = (cast_expression "(int *)((int)local_8c + (int)local_88 * local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c + (int)local_88 * local_7c)" ( (binary_expression "(int)local_8c + (int)local_88 * local_7c" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)local_88 * local_7c" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) * identifier)) )))) ;) })) (expression_statement "putc(10,*(FILE **)puVar6);" (call_expression "putc(10,*(FILE **)puVar6)" identifier (argument_list "(10,*(FILE **)puVar6)" ( number_literal , (pointer_expression "*(FILE **)puVar6" * (cast_expression "(FILE **)puVar6" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"TU table:\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"TU table:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"TU table:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"TU table:\n",5)" identifier (argument_list "(0,"TU table:\n",5)" ( number_literal , (string_literal ""TU table:\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (if_statement "if (local_78 != 0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }" if (parenthesized_expression "(local_78 != 0)" ( (binary_expression "local_78 != 0" identifier != number_literal) )) (compound_statement "{\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }" { (expression_statement "piVar16 = local_8c;" (assignment_expression "piVar16 = local_8c" identifier = identifier) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);" do (compound_statement "{\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      }" { (expression_statement "piVar15 = (int *)((int)piVar16 + local_7c);" (assignment_expression "piVar15 = (int *)((int)piVar16 + local_7c)" identifier = (cast_expression "(int *)((int)piVar16 + local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + local_7c)" ( (binary_expression "(int)piVar16 + local_7c" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar20 = local_7c;" (assignment_expression "iVar20 = local_7c" identifier = identifier) ;) (if_statement "if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }" if (parenthesized_expression "((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8))))" ( (binary_expression "(piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))" (parenthesized_expression "(piVar15 < local_80)" ( (binary_expression "piVar15 < local_80" identifier < identifier) )) || (parenthesized_expression "((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))" ( (parenthesized_expression "(uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8))" ( (comma_expression "uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)" (assignment_expression "uVar11 = 0" identifier = number_literal) , (binary_expression "(int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)" (binary_expression "(int *)((int)piVar15 - local_7c) < local_80" (cast_expression "(int *)((int)piVar15 - local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 - local_7c)" ( (binary_expression "(int)piVar15 - local_7c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) ))) < identifier) && (parenthesized_expression "(iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)" ( (comma_expression "iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8" (assignment_expression "iVar20 = (int)local_80 - (int)piVar16" identifier = (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "((int)local_80 - (int)piVar16) - 1U < 8" (binary_expression "((int)local_80 - (int)piVar16) - 1U" (parenthesized_expression "((int)local_80 - (int)piVar16)" ( (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }" { (expression_statement "uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);" (assignment_expression "uVar11 = (*DAT_000b9dd4)(piVar16,iVar20)" identifier = (call_expression "(*DAT_000b9dd4)(piVar16,iVar20)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar16,iVar20)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"[%3u] 0x%lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"[%3u] 0x%lx\n",5)" identifier (argument_list "(0,"[%3u] 0x%lx\n",5)" ( number_literal , (string_literal ""[%3u] 0x%lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "iVar20 = iVar9 + 1;" (assignment_expression "iVar20 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "printf(pcVar10,iVar9,uVar11);" (call_expression "printf(pcVar10,iVar9,uVar11)" identifier (argument_list "(pcVar10,iVar9,uVar11)" ( identifier , identifier , identifier ))) ;) (expression_statement "piVar16 = piVar15;" (assignment_expression "piVar16 = piVar15" identifier = identifier) ;) (expression_statement "iVar9 = iVar20;" (assignment_expression "iVar9 = iVar20" identifier = identifier) ;) }) while (parenthesized_expression "(iVar20 != local_78)" ( (binary_expression "iVar20 != local_78" identifier != identifier) )) ;) (expression_statement "local_8c = (int *)((int)local_8c + iVar20 * local_7c);" (assignment_expression "local_8c = (int *)((int)local_8c + iVar20 * local_7c)" identifier = (cast_expression "(int *)((int)local_8c + iVar20 * local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c + iVar20 * local_7c)" ( (binary_expression "(int)local_8c + iVar20 * local_7c" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar20 * local_7c" identifier * identifier)) )))) ;) })) (expression_statement "putc(10,*(FILE **)puVar6);" (call_expression "putc(10,*(FILE **)puVar6)" identifier (argument_list "(10,*(FILE **)puVar6)" ( number_literal , (pointer_expression "*(FILE **)puVar6" * (cast_expression "(FILE **)puVar6" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Foreign TU table:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Foreign TU table:\n",5)" identifier (argument_list "(0,"Foreign TU table:\n",5)" ( number_literal , (string_literal ""Foreign TU table:\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (if_statement "if (local_74 != (longlong *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }" if (parenthesized_expression "(local_74 != (longlong *)0x0)" ( (binary_expression "local_74 != (longlong *)0x0" identifier != (cast_expression "(longlong *)0x0" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }" { (expression_statement "piVar16 = local_8c;" (assignment_expression "piVar16 = local_8c" identifier = identifier) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);" do (compound_statement "{\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      }" { (if_statement "if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;" if (parenthesized_expression "(piVar16 + 2 < local_80)" ( (binary_expression "piVar16 + 2 < local_80" (binary_expression "piVar16 + 2" identifier + number_literal) < identifier) )) (compound_statement "{\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }" { (expression_statement "iVar20 = 8;" (assignment_expression "iVar20 = 8" identifier = number_literal) ;) (labeled_statement "LAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);" statement_identifier : (expression_statement "(*DAT_000b9dd4)(piVar16,iVar20);" (call_expression "(*DAT_000b9dd4)(piVar16,iVar20)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar16,iVar20)" ( identifier , identifier ))) ;)) }) (else_clause "else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;" else (if_statement "if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;" if (parenthesized_expression "((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))" ( (binary_expression "(piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8)" (parenthesized_expression "(piVar16 < local_80)" ( (binary_expression "piVar16 < local_80" identifier < identifier) )) && (parenthesized_expression "(iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8)" ( (comma_expression "iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8" (assignment_expression "iVar20 = (int)local_80 - (int)piVar16" identifier = (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar20 - 1U < 8" (binary_expression "iVar20 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_0005862e;" goto statement_identifier ;)))) (expression_statement "pcVar10 = (char *)dcgettext(0,"[%3u] ",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"[%3u] ",5)" identifier = (cast_expression "(char *)dcgettext(0,"[%3u] ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"[%3u] ",5)" identifier (argument_list "(0,"[%3u] ",5)" ( number_literal , (string_literal ""[%3u] "" " string_content ") , number_literal ))))) ;) (expression_statement "iVar20 = iVar9 + 1;" (assignment_expression "iVar20 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "printf(pcVar10,iVar9);" (call_expression "printf(pcVar10,iVar9)" identifier (argument_list "(pcVar10,iVar9)" ( identifier , identifier ))) ;) (expression_statement "FUN_0004ce40();" (call_expression "FUN_0004ce40()" identifier (argument_list "()" ( ))) ;) (expression_statement "putc(10,*(FILE **)puVar6);" (call_expression "putc(10,*(FILE **)puVar6)" identifier (argument_list "(10,*(FILE **)puVar6)" ( number_literal , (pointer_expression "*(FILE **)puVar6" * (cast_expression "(FILE **)puVar6" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "piVar16 = piVar16 + 2;" (assignment_expression "piVar16 = piVar16 + 2" identifier = (binary_expression "piVar16 + 2" identifier + number_literal)) ;) (expression_statement "iVar9 = iVar20;" (assignment_expression "iVar9 = iVar20" identifier = identifier) ;) }) while (parenthesized_expression "((longlong *)iVar20 != local_74)" ( (binary_expression "(longlong *)iVar20 != local_74" (cast_expression "(longlong *)iVar20" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) ;) (expression_statement "local_8c = local_8c + iVar20 * 2;" (assignment_expression "local_8c = local_8c + iVar20 * 2" identifier = (binary_expression "local_8c + iVar20 * 2" identifier + (binary_expression "iVar20 * 2" identifier * number_literal))) ;) })) (expression_statement "putc(10,*(FILE **)puVar6);" (call_expression "putc(10,*(FILE **)puVar6)" identifier (argument_list "(10,*(FILE **)puVar6)" ( number_literal , (pointer_expression "*(FILE **)puVar6" * (cast_expression "(FILE **)puVar6" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "puVar24 = (uint *)((int)local_64 + (int)local_8c);" (assignment_expression "puVar24 = (uint *)((int)local_64 + (int)local_8c)" identifier = (cast_expression "(uint *)((int)local_64 + (int)local_8c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + (int)local_8c)" ( (binary_expression "(int)local_64 + (int)local_8c" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_4c = (int *)(local_60 + (int)puVar24);" (assignment_expression "local_4c = (int *)(local_60 + (int)puVar24)" identifier = (cast_expression "(int *)(local_60 + (int)puVar24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + (int)puVar24)" ( (binary_expression "local_60 + (int)puVar24" identifier + (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_50 = (int *)((int)local_4c + local_68);" (assignment_expression "local_50 = (int *)((int)local_4c + local_68)" identifier = (cast_expression "(int *)((int)local_4c + local_68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_4c + local_68)" ( (binary_expression "(int)local_4c + local_68" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "local_68 = local_68 + (int)local_50;" (assignment_expression "local_68 = local_68 + (int)local_50" identifier = (binary_expression "local_68 + (int)local_50" identifier + (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "piVar16 = (int *)(local_6c + local_68);" (assignment_expression "piVar16 = (int *)(local_6c + local_68)" identifier = (cast_expression "(int *)(local_6c + local_68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6c + local_68)" ( (binary_expression "local_6c + local_68" identifier + identifier) )))) ;) (if_statement "if (local_80 < piVar16) {\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }" if (parenthesized_expression "(local_80 < piVar16)" ( (binary_expression "local_80 < piVar16" identifier < identifier) )) (compound_statement "{\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }" { (expression_statement "iVar9 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x10)" identifier = (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);" (assignment_expression "uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5)" identifier = (call_expression "dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5)" identifier (argument_list "(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5)" ( number_literal , (string_literal ""Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);" (call_expression "warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9)" identifier (argument_list "(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9)" ( identifier , (binary_expression "(int)piVar16 - iVar9" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) , (binary_expression "(int)local_80 - iVar9" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) , (binary_expression "(int)piVar2 - iVar9" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (if_statement "if (local_70 != 0) {\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }" if (parenthesized_expression "(local_70 != 0)" ( (binary_expression "local_70 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "piVar15 = local_8c + local_70;" (assignment_expression "piVar15 = local_8c + local_70" identifier = (binary_expression "local_8c + local_70" identifier + identifier)) ;) (do_statement "do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);" do (compound_statement "{\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      }" { (expression_statement "iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);" (assignment_expression "iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0)" identifier = (binary_expression "(iVar9 + 1) - (uint)(*local_8c == 0)" (parenthesized_expression "(iVar9 + 1)" ( (binary_expression "iVar9 + 1" identifier + number_literal) )) - (call_expression "(uint)(*local_8c == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*local_8c == 0)" ( (binary_expression "*local_8c == 0" (pointer_expression "*local_8c" * identifier) == number_literal) ))))) ;) (expression_statement "local_8c = local_8c + 1;" (assignment_expression "local_8c = local_8c + 1" identifier = (binary_expression "local_8c + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar15 != local_8c)" ( (binary_expression "piVar15 != local_8c" identifier != identifier) )) ;) })) (expression_statement "pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5);" (assignment_expression "pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5)" identifier = (cast_expression "(char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5)" identifier (argument_list "(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5)" ( number_literal , (string_literal ""Used %zu of %lu bucket.\n"" " string_content escape_sequence ") , (string_literal ""Used %zu of %lu buckets.\n"" " string_content escape_sequence ") , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar10,iVar9,local_70);" (call_expression "printf(pcVar10,iVar9,local_70)" identifier (argument_list "(pcVar10,iVar9,local_70)" ( identifier , identifier , identifier ))) ;) (if_statement "if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }" if (parenthesized_expression "(local_44 == 0)" ( (binary_expression "local_44 == 0" identifier == number_literal) )) (compound_statement "{\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }" { (expression_statement "local_88 = (int *)0x0;" (assignment_expression "local_88 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }" else (compound_statement "{\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }" { (expression_statement "local_88 = (int *)0x0;" (assignment_expression "local_88 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "uVar14 = *puVar24;" (assignment_expression "uVar14 = *puVar24" identifier = (pointer_expression "*puVar24" * identifier)) ;) (expression_statement "puVar19 = puVar24;" (assignment_expression "puVar19 = puVar24" identifier = identifier) ;) (while_statement "while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }" while (parenthesized_expression "(puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19)" ( (comma_expression "puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19" (assignment_expression "puVar19 = puVar19 + 1" identifier = (binary_expression "puVar19 + 1" identifier + number_literal)) , (binary_expression "puVar24 + local_44 != puVar19" (binary_expression "puVar24 + local_44" identifier + identifier) != identifier)) )) (compound_statement "{\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }" { (expression_statement "uVar3 = *puVar19;" (assignment_expression "uVar3 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ;) (if_statement "if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }" if (parenthesized_expression "(uVar14 % local_70 == uVar3 % local_70)" ( (binary_expression "uVar14 % local_70 == uVar3 % local_70" (binary_expression "uVar14 % local_70" identifier % identifier) == (binary_expression "uVar3 % local_70" identifier % identifier)) )) (compound_statement "{\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }" { (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (expression_statement "local_78 = local_78 + 1;" (assignment_expression "local_78 = local_78 + 1" identifier = (binary_expression "local_78 + 1" identifier + number_literal)) ;) (expression_statement "uVar14 = uVar3;" (assignment_expression "uVar14 = uVar3" identifier = identifier) ;) (if_statement "if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }" if (parenthesized_expression "(local_88 < uVar21)" ( (binary_expression "local_88 < uVar21" identifier < identifier) )) (compound_statement "{\n            local_88 = (int *)uVar21;\n          }" { (expression_statement "local_88 = (int *)uVar21;" (assignment_expression "local_88 = (int *)uVar21" identifier = (cast_expression "(int *)uVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) }) (else_clause "else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }" else (compound_statement "{\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "uVar14 = uVar3;" (assignment_expression "uVar14 = uVar3" identifier = identifier) ;) }))) })) (expression_statement "iVar9 = iVar9 + local_78;" (assignment_expression "iVar9 = iVar9 + local_78" identifier = (binary_expression "iVar9 + local_78" identifier + identifier)) ;) }))) (expression_statement "pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5)" identifier (argument_list "(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5)" ( number_literal , (string_literal ""Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,local_44,local_78,local_88);" (call_expression "printf(pcVar10,local_44,local_78,local_88)" identifier (argument_list "(pcVar10,local_44,local_78,local_88)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_44 != iVar9) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }" if (parenthesized_expression "(local_44 != iVar9)" ( (binary_expression "local_44 != iVar9" identifier != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }" { comment (expression_statement "__assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");" (call_expression "__assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names")" identifier (argument_list "("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names")" ( (string_literal ""name_count == buckets_filled + hash_clash_count"" " string_content ") , (string_literal ""../../binutils/dwarf.c"" " string_content ") , number_literal , (string_literal ""display_debug_names"" " string_content ") ))) ;) })) (expression_statement "local_88 = (int *)0x0;" (assignment_expression "local_88 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_74 = (longlong *)0x0;" (assignment_expression "local_74 = (longlong *)0x0" identifier = (cast_expression "(longlong *)0x0" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8c = (int *)0x0;" (assignment_expression "local_8c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while( true ) {\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }" { (expression_statement "lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);" (assignment_expression "lVar25 = FUN_0004f910(local_68,local_20,0,piVar16)" identifier = (call_expression "FUN_0004f910(local_68,local_20,0,piVar16)" identifier (argument_list "(local_68,local_20,0,piVar16)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_68 = local_68 + local_20[0];" (assignment_expression "local_68 = local_68 + local_20[0]" identifier = (binary_expression "local_68 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (if_statement "if (lVar25 == 0) break;" if (parenthesized_expression "(lVar25 == 0)" ( (binary_expression "lVar25 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }" if (parenthesized_expression "(local_8c == local_88)" ( (binary_expression "local_8c == local_88" identifier == identifier) )) (compound_statement "{\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }" { (expression_statement "local_88 = (int *)((int)local_8c * 2);" (assignment_expression "local_88 = (int *)((int)local_8c * 2)" identifier = (cast_expression "(int *)((int)local_8c * 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c * 2)" ( (binary_expression "(int)local_8c * 2" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (if_statement "if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }" if (parenthesized_expression "(local_88 < 0x100)" ( (binary_expression "local_88 < 0x100" identifier < number_literal) )) (compound_statement "{\n          local_88 = (int *)0x100;\n        }" { (expression_statement "local_88 = (int *)0x100;" (assignment_expression "local_88 = (int *)0x100" identifier = (cast_expression "(int *)0x100" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);" (assignment_expression "local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc)" identifier = (cast_expression "(longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0006b060(local_74,(int)local_88 * 0xc)" identifier (argument_list "(local_74,(int)local_88 * 0xc)" ( identifier , (binary_expression "(int)local_88 * 0xc" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))))) ;) })) (if_statement "if (local_88 <= local_8c) {\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }" if (parenthesized_expression "(local_88 <= local_8c)" ( (binary_expression "local_88 <= local_8c" identifier <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }" { comment (expression_statement "__assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");" (call_expression "__assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names")" identifier (argument_list "("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names")" ( (string_literal ""abbrev_lookup_used < abbrev_lookup_allocated"" " string_content ") , (string_literal ""../../binutils/dwarf.c"" " string_content ") , number_literal , (string_literal ""display_debug_names"" " string_content ") ))) ;) })) (expression_statement "plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);" (assignment_expression "plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc)" identifier = (cast_expression "(longlong *)((int)local_74 + (int)local_8c * 0xc)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + (int)local_8c * 0xc)" ( (binary_expression "(int)local_74 + (int)local_8c * 0xc" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)local_8c * 0xc" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (if_statement "if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }" if (parenthesized_expression "(local_74 < plVar1)" ( (binary_expression "local_74 < plVar1" identifier < identifier) )) (compound_statement "{\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }" { (expression_statement "lVar28 = *local_74;" (assignment_expression "lVar28 = *local_74" identifier = (pointer_expression "*local_74" * identifier)) ;) (expression_statement "plVar17 = local_74;" (assignment_expression "plVar17 = local_74" identifier = identifier) ;) (while_statement "while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }" while (parenthesized_expression "(lVar25 != lVar28)" ( (binary_expression "lVar25 != lVar28" identifier != identifier) )) (compound_statement "{\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }" { (expression_statement "plVar17 = (longlong *)((int)plVar17 + 0xc);" (assignment_expression "plVar17 = (longlong *)((int)plVar17 + 0xc)" identifier = (cast_expression "(longlong *)((int)plVar17 + 0xc)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)plVar17 + 0xc)" ( (binary_expression "(int)plVar17 + 0xc" (cast_expression "(int)plVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (plVar1 <= plVar17) goto LAB_00058864;" if (parenthesized_expression "(plVar1 <= plVar17)" ( (binary_expression "plVar1 <= plVar17" identifier <= identifier) )) (goto_statement "goto LAB_00058864;" goto statement_identifier ;)) (expression_statement "lVar28 = *plVar17;" (assignment_expression "lVar28 = *plVar17" identifier = (pointer_expression "*plVar17" * identifier)) ;) })) (expression_statement "iVar9 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x10)" identifier = (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);" (assignment_expression "uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5)" identifier = (call_expression "dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5)" identifier (argument_list "(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5)" ( number_literal , (string_literal ""Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);" (call_expression "warn(uVar11,(int)lVar25,(int)piVar2 - iVar9)" identifier (argument_list "(uVar11,(int)lVar25,(int)piVar2 - iVar9)" ( identifier , (cast_expression "(int)lVar25" ( (type_descriptor "int" primitive_type) ) identifier) , (binary_expression "(int)piVar2 - iVar9" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) ))) ;) })) (labeled_statement "LAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);" statement_identifier : (expression_statement "local_8c = (int *)((int)local_8c + 1);" (assignment_expression "local_8c = (int *)((int)local_8c + 1)" identifier = (cast_expression "(int *)((int)local_8c + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c + 1)" ( (binary_expression "(int)local_8c + 1" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "*plVar1 = lVar25;" (assignment_expression "*plVar1 = lVar25" (pointer_expression "*plVar1" * identifier) = identifier) ;) (expression_statement "*(int *)(plVar1 + 1) = local_68;" (assignment_expression "*(int *)(plVar1 + 1) = local_68" (pointer_expression "*(int *)(plVar1 + 1)" * (cast_expression "(int *)(plVar1 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar1 + 1)" ( (binary_expression "plVar1 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_0004f910(local_68,local_20,0,piVar16);" (call_expression "FUN_0004f910(local_68,local_20,0,piVar16)" identifier (argument_list "(local_68,local_20,0,piVar16)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "local_68 = local_68 + local_20[0];" (assignment_expression "local_68 = local_68 + local_20[0]" identifier = (binary_expression "local_68 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (do_statement "do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));" do (compound_statement "{\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      }" { (expression_statement "uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);" (assignment_expression "uVar26 = FUN_0004f910(local_68,local_20,0,piVar16)" identifier = (call_expression "FUN_0004f910(local_68,local_20,0,piVar16)" identifier (argument_list "(local_68,local_20,0,piVar16)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_68 = local_68 + local_20[0];" (assignment_expression "local_68 = local_68 + local_20[0]" identifier = (binary_expression "local_68 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);" (assignment_expression "uVar27 = FUN_0004f910(local_68,local_20,0,piVar16)" identifier = (call_expression "FUN_0004f910(local_68,local_20,0,piVar16)" identifier (argument_list "(local_68,local_20,0,piVar16)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_68 = local_68 + local_20[0];" (assignment_expression "local_68 = local_68 + local_20[0]" identifier = (binary_expression "local_68 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0))" ( (binary_expression "((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0)" (parenthesized_expression "((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0" (binary_expression "(int)((ulonglong)uVar27 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar27 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar27 >> 0x20)" ( (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) || (binary_expression "(int)((ulonglong)uVar26 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar26 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar26 >> 0x20)" ( (binary_expression "(ulonglong)uVar26 >> 0x20" (cast_expression "(ulonglong)uVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal)) )) || (parenthesized_expression "((int)uVar27 != 0 || (int)uVar26 != 0)" ( (binary_expression "(int)uVar27 != 0 || (int)uVar26 != 0" (binary_expression "(int)uVar27 != 0" (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) || (binary_expression "(int)uVar26 != 0" (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal)) ))) )) ;) })) (expression_statement "pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nSymbol table:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nSymbol table:\n",5)" identifier (argument_list "(0,"\nSymbol table:\n",5)" ( number_literal , (string_literal ""\nSymbol table:\n"" " escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (if_statement "if (local_44 != 0) {\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }" if (parenthesized_expression "(local_44 != 0)" ( (binary_expression "local_44 != 0" identifier != number_literal) )) (compound_statement "{\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }" { (expression_statement "plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);" (assignment_expression "plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc)" identifier = (cast_expression "(longlong *)((int)local_74 + (int)local_8c * 0xc)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + (int)local_8c * 0xc)" ( (binary_expression "(int)local_74 + (int)local_8c * 0xc" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)local_8c * 0xc" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (do_statement "do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);" do (compound_statement "{\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      }" { (expression_statement "iVar9 = local_7c;" (assignment_expression "iVar9 = local_7c" identifier = identifier) ;) (if_statement "if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }" if (parenthesized_expression "(((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8))))" ( (binary_expression "((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))" (parenthesized_expression "((int *)((int)local_4c + local_7c) < local_80)" ( (binary_expression "(int *)((int)local_4c + local_7c) < local_80" (cast_expression "(int *)((int)local_4c + local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_4c + local_7c)" ( (binary_expression "(int)local_4c + local_7c" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) < identifier) )) || (parenthesized_expression "((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))" ( (parenthesized_expression "(local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8))" ( (binary_expression "local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)" (binary_expression "local_4c < local_80" identifier < identifier) && (parenthesized_expression "(iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)" ( (comma_expression "iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)local_4c" identifier = (binary_expression "(int)local_80 - (int)local_4c" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "((int)local_80 - (int)local_4c) - 1U < 8" (binary_expression "((int)local_80 - (int)local_4c) - 1U" (parenthesized_expression "((int)local_80 - (int)local_4c)" ( (binary_expression "(int)local_80 - (int)local_4c" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal)) ))) )) ))) )) (compound_statement "{\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }" { (expression_statement "(*DAT_000b9dd4)(local_4c,iVar9);" (call_expression "(*DAT_000b9dd4)(local_4c,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(local_4c,iVar9)" ( identifier , identifier ))) ;) })) (expression_statement "iVar9 = local_7c;" (assignment_expression "iVar9 = local_7c" identifier = identifier) ;) (if_statement "if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }" if (parenthesized_expression "(((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8))))" ( (binary_expression "((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))" (parenthesized_expression "((int *)((int)local_50 + local_7c) < local_80)" ( (binary_expression "(int *)((int)local_50 + local_7c) < local_80" (cast_expression "(int *)((int)local_50 + local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_50 + local_7c)" ( (binary_expression "(int)local_50 + local_7c" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) < identifier) )) || (parenthesized_expression "((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))" ( (parenthesized_expression "(local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8))" ( (comma_expression "local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)" (assignment_expression "local_64 = piVar16" identifier = identifier) , (binary_expression "local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)" (binary_expression "local_50 < local_80" identifier < identifier) && (parenthesized_expression "(iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)" ( (comma_expression "iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)local_50" identifier = (binary_expression "(int)local_80 - (int)local_50" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "((int)local_80 - (int)local_50) - 1U < 8" (binary_expression "((int)local_80 - (int)local_50) - 1U" (parenthesized_expression "((int)local_80 - (int)local_50)" ( (binary_expression "(int)local_80 - (int)local_50" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }" { (expression_statement "iVar9 = (*DAT_000b9dd4)(local_50,iVar9);" (assignment_expression "iVar9 = (*DAT_000b9dd4)(local_50,iVar9)" identifier = (call_expression "(*DAT_000b9dd4)(local_50,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(local_50,iVar9)" ( identifier , identifier )))) ;) (expression_statement "local_64 = (int *)(iVar9 + (int)piVar16);" (assignment_expression "local_64 = (int *)(iVar9 + (int)piVar16)" identifier = (cast_expression "(int *)(iVar9 + (int)piVar16)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + (int)piVar16)" ( (binary_expression "iVar9 + (int)piVar16" identifier + (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "uVar11 = FUN_0004e530();" (assignment_expression "uVar11 = FUN_0004e530()" identifier = (call_expression "FUN_0004e530()" identifier (argument_list "()" ( )))) ;) (expression_statement "printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);" (call_expression "printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11)" identifier (argument_list "("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11)" ( (string_literal ""[%3u] #%08x %s:"" " string_content ") , identifier , (subscript_expression "puVar24[local_60]" identifier [ identifier ]) , identifier ))) ;) (expression_statement "local_88 = local_64;" (assignment_expression "local_88 = local_64" identifier = identifier) ;) (expression_statement "local_8c = (int *)0xfffffffe;" (assignment_expression "local_8c = (int *)0xfffffffe" identifier = (cast_expression "(int *)0xfffffffe" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "lVar25 = -1;" (assignment_expression "lVar25 = -1" identifier = number_literal) ;) (while_statement "while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }" { (while_statement "while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }" { (expression_statement "lVar28 = FUN_0004f910(local_88,local_20,0,local_80);" (assignment_expression "lVar28 = FUN_0004f910(local_88,local_20,0,local_80)" identifier = (call_expression "FUN_0004f910(local_88,local_20,0,local_80)" identifier (argument_list "(local_88,local_20,0,local_80)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar9 = local_20[0];" (assignment_expression "iVar9 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (if_statement "if (local_8c != (int *)0xffffffff) break;" if (parenthesized_expression "(local_8c != (int *)0xffffffff)" ( (binary_expression "local_8c != (int *)0xffffffff" identifier != (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "local_88 = local_64;" (assignment_expression "local_88 = local_64" identifier = identifier) ;) (expression_statement "local_8c = (int *)0x0;" (assignment_expression "local_8c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "lVar25 = lVar28;" (assignment_expression "lVar25 = lVar28" identifier = identifier) ;) })) (if_statement "if (lVar28 == 0) goto LAB_00058b8d;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00058b8d;" goto statement_identifier ;)) (if_statement "if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }" if (parenthesized_expression "(-1 < (int)local_8c)" ( (binary_expression "-1 < (int)local_8c" number_literal < (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }" { (if_statement "if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }" if (parenthesized_expression "((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0))" ( (binary_expression "(local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)" (parenthesized_expression "(local_8c != (int *)0x0)" ( (binary_expression "local_8c != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar18 = &DAT_0007c3bc, lVar25 != 0)" ( (comma_expression "puVar18 = &DAT_0007c3bc, lVar25 != 0" (assignment_expression "puVar18 = &DAT_0007c3bc" identifier = (pointer_expression "&DAT_0007c3bc" & identifier)) , (binary_expression "lVar25 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n              puVar18 = &DAT_0007bc58;\n            }" { (expression_statement "puVar18 = &DAT_0007bc58;" (assignment_expression "puVar18 = &DAT_0007bc58" identifier = (pointer_expression "&DAT_0007bc58" & identifier)) ;) })) (expression_statement "printf("%s<%lu>",puVar18,(int)lVar28);" (call_expression "printf("%s<%lu>",puVar18,(int)lVar28)" identifier (argument_list "("%s<%lu>",puVar18,(int)lVar28)" ( (string_literal ""%s<%lu>"" " string_content ") , identifier , (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) (if_statement "if (plVar1 <= local_74) break;" if (parenthesized_expression "(plVar1 <= local_74)" ( (binary_expression "plVar1 <= local_74" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = *local_74;" (assignment_expression "lVar5 = *local_74" identifier = (pointer_expression "*local_74" * identifier)) ;) (expression_statement "plVar17 = local_74;" (assignment_expression "plVar17 = local_74" identifier = identifier) ;) (while_statement "while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }" while (parenthesized_expression "(lVar28 != lVar5)" ( (binary_expression "lVar28 != lVar5" identifier != identifier) )) (compound_statement "{\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }" { (expression_statement "plVar17 = (longlong *)((int)plVar17 + 0xc);" (assignment_expression "plVar17 = (longlong *)((int)plVar17 + 0xc)" identifier = (cast_expression "(longlong *)((int)plVar17 + 0xc)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)plVar17 + 0xc)" ( (binary_expression "(int)plVar17 + 0xc" (cast_expression "(int)plVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (plVar1 <= plVar17) goto LAB_00058b50;" if (parenthesized_expression "(plVar1 <= plVar17)" ( (binary_expression "plVar1 <= plVar17" identifier <= identifier) )) (goto_statement "goto LAB_00058b50;" goto statement_identifier ;)) (expression_statement "lVar5 = *plVar17;" (assignment_expression "lVar5 = *plVar17" identifier = (pointer_expression "*plVar17" * identifier)) ;) })) (expression_statement "lVar28 = plVar17[1];" (assignment_expression "lVar28 = plVar17[1]" identifier = (subscript_expression "plVar17[1]" identifier [ number_literal ])) ;) (expression_statement "FUN_0004f910((int)lVar28,local_20,0,piVar16);" (call_expression "FUN_0004f910((int)lVar28,local_20,0,piVar16)" identifier (argument_list "((int)lVar28,local_20,0,piVar16)" ( (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , number_literal , identifier ))) ;) (expression_statement "iVar20 = (int)lVar28 + local_20[0];" (assignment_expression "iVar20 = (int)lVar28 + local_20[0]" identifier = (binary_expression "(int)lVar28 + local_20[0]" (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (if_statement "if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }" if (parenthesized_expression "(-1 < (int)local_8c)" ( (binary_expression "-1 < (int)local_8c" number_literal < (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }" { (expression_statement "uVar11 = FUN_0004e710();" (assignment_expression "uVar11 = FUN_0004e710()" identifier = (call_expression "FUN_0004e710()" identifier (argument_list "()" ( )))) ;) (expression_statement "printf(" %s",uVar11);" (call_expression "printf(" %s",uVar11)" identifier (argument_list "(" %s",uVar11)" ( (string_literal "" %s"" " string_content ") , identifier ))) ;) })) (expression_statement "local_88 = (int *)((int)local_88 + iVar9);" (assignment_expression "local_88 = (int *)((int)local_88 + iVar9)" identifier = (cast_expression "(int *)((int)local_88 + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_88 + iVar9)" ( (binary_expression "(int)local_88 + iVar9" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (while_statement "while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }" { (expression_statement "uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);" (assignment_expression "uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16)" identifier = (call_expression "FUN_0004f910(iVar20,local_20,0,piVar16)" identifier (argument_list "(iVar20,local_20,0,piVar16)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar9 = (int)uVar26;" (assignment_expression "iVar9 = (int)uVar26" identifier = (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar20 = iVar20 + local_20[0];" (assignment_expression "iVar20 = iVar20 + local_20[0]" identifier = (binary_expression "iVar20 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);" (assignment_expression "uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16)" identifier = (call_expression "FUN_0004f910(iVar20,local_20,0,piVar16)" identifier (argument_list "(iVar20,local_20,0,piVar16)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar20 = iVar20 + local_20[0];" (assignment_expression "iVar20 = iVar20 + local_20[0]" identifier = (binary_expression "iVar20 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (if_statement "if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;" if (parenthesized_expression "(((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0))" ( (binary_expression "((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)" (parenthesized_expression "((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0" (binary_expression "(int)((ulonglong)uVar26 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar26 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar26 >> 0x20)" ( (binary_expression "(ulonglong)uVar26 >> 0x20" (cast_expression "(ulonglong)uVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) && (binary_expression "(int)((ulonglong)uVar27 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar27 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar27 >> 0x20)" ( (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal)) )) && (parenthesized_expression "((int)uVar27 == 0 && iVar9 == 0)" ( (binary_expression "(int)uVar27 == 0 && iVar9 == 0" (binary_expression "(int)uVar27 == 0" (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) && (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) (break_statement "break;" break ;)) (if_statement "if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }" if (parenthesized_expression "(-1 < (int)local_8c)" ( (binary_expression "-1 < (int)local_8c" number_literal < (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }" { (expression_statement "puVar18 = (undefined *)FUN_0006ad50(iVar9);" (assignment_expression "puVar18 = (undefined *)FUN_0006ad50(iVar9)" identifier = (cast_expression "(undefined *)FUN_0006ad50(iVar9)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0006ad50(iVar9)" identifier (argument_list "(iVar9)" ( identifier ))))) ;) (if_statement "if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }" if (parenthesized_expression "(puVar18 == (undefined *)0x0)" ( (binary_expression "puVar18 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5)" identifier = (cast_expression "(char *)dcgettext(0,"Unknown IDX value: %lx",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Unknown IDX value: %lx",5)" identifier (argument_list "(0,"Unknown IDX value: %lx",5)" ( number_literal , (string_literal ""Unknown IDX value: %lx"" " string_content ") , number_literal ))))) ;) (expression_statement "snprintf(&DAT_000b7660,100,pcVar10,iVar9);" (call_expression "snprintf(&DAT_000b7660,100,pcVar10,iVar9)" identifier (argument_list "(&DAT_000b7660,100,pcVar10,iVar9)" ( (pointer_expression "&DAT_000b7660" & identifier) , number_literal , identifier , identifier ))) ;) (expression_statement "puVar18 = &DAT_000b7660;" (assignment_expression "puVar18 = &DAT_000b7660" identifier = (pointer_expression "&DAT_000b7660" & identifier)) ;) })) (expression_statement "printf(" %s",puVar18);" (call_expression "printf(" %s",puVar18)" identifier (argument_list "(" %s",puVar18)" ( (string_literal "" %s"" " string_content ") , identifier ))) ;) })) (expression_statement "local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);" (assignment_expression "local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d)" identifier = (cast_expression "(int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d)" identifier (argument_list "(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d)" ( number_literal , number_literal , identifier , identifier , number_literal , number_literal , number_literal , number_literal , identifier , number_literal , number_literal , number_literal , (binary_expression "(uint)local_8c >> 0x1f" (cast_expression "(uint)local_8c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) , number_literal , number_literal , number_literal ))))) ;) })) (expression_statement "local_8c = (int *)((int)local_8c + 1);" (assignment_expression "local_8c = (int *)((int)local_8c + 1)" identifier = (cast_expression "(int *)((int)local_8c + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c + 1)" ( (binary_expression "(int)local_8c + 1" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (labeled_statement "LAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);" statement_identifier : (expression_statement "iVar9 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x10)" identifier = (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;)) (expression_statement "uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);" (assignment_expression "uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5)" identifier = (call_expression "dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5)" identifier (argument_list "(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5)" ( number_literal , (string_literal ""Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);" (call_expression "warn(uVar11,(int)lVar28,(int)piVar2 - iVar9)" identifier (argument_list "(uVar11,(int)lVar28,(int)piVar2 - iVar9)" ( identifier , (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier) , (binary_expression "(int)piVar2 - iVar9" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) ))) ;) (labeled_statement "LAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }" statement_identifier : (if_statement "if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }" if (parenthesized_expression "((int)local_8c < 1)" ( (binary_expression "(int)local_8c < 1" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }" { (expression_statement "pcVar10 = (char *)dcgettext(0," <no entries>",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0," <no entries>",5)" identifier = (cast_expression "(char *)dcgettext(0," <no entries>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," <no entries>",5)" identifier (argument_list "(0," <no entries>",5)" ( number_literal , (string_literal "" <no entries>"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) }))) (expression_statement "putc(10,*(FILE **)puVar6);" (call_expression "putc(10,*(FILE **)puVar6)" identifier (argument_list "(10,*(FILE **)puVar6)" ( number_literal , (pointer_expression "*(FILE **)puVar6" * (cast_expression "(FILE **)puVar6" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" identifier = (binary_expression "local_60 + 1" identifier + number_literal)) ;) (expression_statement "local_50 = (int *)((int)local_50 + local_7c);" (assignment_expression "local_50 = (int *)((int)local_50 + local_7c)" identifier = (cast_expression "(int *)((int)local_50 + local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_50 + local_7c)" ( (binary_expression "(int)local_50 + local_7c" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "local_4c = (int *)((int)local_4c + local_7c);" (assignment_expression "local_4c = (int *)((int)local_4c + local_7c)" identifier = (cast_expression "(int *)((int)local_4c + local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_4c + local_7c)" ( (binary_expression "(int)local_4c + local_7c" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "(local_60 != local_44)" ( (binary_expression "local_60 != local_44" identifier != identifier) )) ;) })) (expression_statement "free(local_74);" (call_expression "free(local_74)" identifier (argument_list "(local_74)" ( identifier ))) ;) (expression_statement "piVar2 = local_80;" (assignment_expression "piVar2 = local_80" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nint display_debug_names(dwarf_section *section,void *file)\n\n{\n  dwarf_vma *pdVar1;\n  int *piVar2;\n  uchar *puVar3;\n  undefined *puVar4;\n  FILE *pFVar5;\n  uint uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  char *message;\n  int iVar9;\n  int *piVar10;\n  int *piVar11;\n  dwarf_vma *pdVar12;\n  undefined *puVar13;\n  dwarf_section *in_ECX;\n  uint uVar14;\n  uint *puVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  int *piVar19;\n  uchar *puVar20;\n  int *piVar21;\n  undefined4 uVar22;\n  uint *puVar23;\n  elf_vma eVar24;\n  dwarf_vma dVar25;\n  dwarf_vma dVar26;\n  char *in_stack_ffffff58;\n  dwarf_vma in_stack_ffffff64;\n  undefined8 local_94;\n  int *local_8c;\n  int *local_88;\n  int *local_80;\n  uint local_7c;\n  int local_78;\n  dwarf_vma *local_74;\n  uint local_70;\n  undefined8 local_6c;\n  int *local_64;\n  int local_60;\n  int *local_50;\n  int *local_4c;\n  int local_44;\n  uint bytes_read;\n  \n  piVar2 = (int *)section->start;\n  piVar21 = (int *)((int)piVar2 + (int)section->size);\n  introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,in_ECX);\n  load_debug_section_with_follow(str,file);\n  do {\n    if (piVar21 <= piVar2) {\n      return 1;\n    }\n    piVar11 = piVar2 + 1;\n    piVar10 = piVar11;\n    if (piVar11 < piVar21) {\n      pFVar5 = (FILE *)0x4;\nLAB_00058065:\n      local_94 = (*byte_get)((uchar *)piVar2,(int)pFVar5);\n      local_7c = 4;\n      in_stack_ffffff58 = (char *)pFVar5;\n      if (local_94 == 0xffffffff) {\n        piVar10 = piVar2 + 3;\n        if (piVar10 < piVar21) {\n          in_stack_ffffff58 = (char *)0x8;\n        }\n        else if ((piVar21 <= piVar11) ||\n                (in_stack_ffffff58 = (char *)((int)piVar21 - (int)piVar11),\n                (char *)0x7 < ((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27)) {\n          local_7c = 8;\n          in_stack_ffffff58 = (char *)pFVar5;\n          goto LAB_00057fac;\n        }\n        local_94 = (*byte_get)((uchar *)piVar11,(int)in_stack_ffffff58);\n        local_7c = 8;\n      }\n      local_80 = (int *)((int)piVar10 + (uint)local_94);\n      uVar14 = (int)piVar10 - (int)section->start;\n      uVar6 = uVar14 + (uint)local_94;\n      uVar16 = local_94._4_4_ + (uint)CARRY4(uVar14,(uint)local_94);\n      uVar17 = (uint)local_94;\n      if (uVar16 < (uVar6 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      pFVar5 = (FILE *)((int)piVar21 - (int)piVar2);\n      if (pFVar5[-1]._unused2 + 0x27 < (char *)0x8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      uVar16 = 0;\n      local_94 = 0;\n      uVar6 = (int)piVar10 - (int)section->start;\n      uVar17 = 0;\n      local_80 = piVar10;\n    }\n    uVar14 = *(uint *)((int)&section->size + 4);\n    if (uVar14 < uVar16 || uVar14 - uVar16 < (uint)((uint)section->size < uVar6)) {\nLAB_000580cc:\n      pcVar8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_ffffff58) << 0x20,(uint)local_94);\n      puVar20 = section->start;\n      pcVar7 = section->name;\n      message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(message,pcVar7,(int)piVar2 - (int)puVar20,pcVar8);\n      return 0;\n    }\n    piVar11 = (int *)((int)piVar10 + 2);\n    if (piVar11 < local_80) {\n      uVar17 = 2;\n    }\n    else if ((local_80 <= piVar10) || (7 < uVar17 - 1)) {\n      pcVar7 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar7,0);\n      goto LAB_00058029;\n    }\n    eVar24 = (*byte_get)((uchar *)piVar10,uVar17);\n    pcVar7 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar7,(uint)eVar24 & 0xffff);\n    if ((short)eVar24 != 5) {\nLAB_00058029:\n      pcVar7 = (char *)dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(pcVar7);\n      return 0;\n    }\n    piVar19 = piVar10 + 1;\n    if (piVar19 < local_80) {\n      iVar9 = 2;\nLAB_00058e95:\n      eVar24 = (*byte_get)((uchar *)piVar11,iVar9);\n      if ((short)eVar24 != 0) {\n        pcVar7 = (char *)dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(pcVar7,(uint)eVar24 & 0xffff);\n      }\n      if (piVar10 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar19) || (iVar9 = (int)local_80 - (int)piVar19, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      eVar24 = (*byte_get)((uchar *)piVar19,iVar9);\n      local_88 = (int *)eVar24;\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar11 < local_80) && ((uint)local_94 - 3 < 8)) {\n        iVar9 = (uint)local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar10 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      pcVar7 = (char *)dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(pcVar7);\n      local_88 = (int *)0x0;\n    }\n    piVar19 = piVar10 + 2;\n    piVar11 = piVar10 + 3;\n    if (piVar11 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      eVar24 = (*byte_get)((uchar *)piVar19,iVar9);\n      local_78 = (int)eVar24;\n      if (piVar10 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar11) || (iVar9 = (int)local_80 - (int)piVar11, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      eVar24 = (*byte_get)((uchar *)piVar11,iVar9);\n      local_74 = (dwarf_vma *)eVar24;\n      if (piVar10 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar10 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar10 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar11 = piVar10 + 6;\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 5),iVar9);\n      local_44 = (int)eVar24;\n      local_60 = local_44 * 4;\n      local_6c._4_4_ = local_44 * local_7c;\n      if (piVar10 + 7 < local_80) goto LAB_00058df0;\n      if ((local_80 <= piVar11) || (7 < ((int)local_80 - (int)piVar11) - 1U)) {\nLAB_00058291:\n        if (piVar10 + 8 < local_80) {\n          local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n        goto LAB_0005838d;\n      }\n      eVar24 = (*byte_get)((uchar *)piVar11,(int)local_80 - (int)piVar11);\n      local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);\n      if (local_80 <= piVar10 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar10 + 8;\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 7),iVar9);\n      iVar9 = (int)eVar24;\n      if ((eVar24 & 3) != 0) {\n        pcVar7 = (char *)dcgettext(0,\n                                   "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                                   ,5);\n        warn(pcVar7,iVar9);\n        iVar9 = iVar9 + (-iVar9 & 3U);\n      }\n      pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar7);\n      if (iVar9 != 0) {\n        piVar11 = (int *)((int)local_8c + iVar9);\n        piVar10 = local_8c;\n        do {\n          piVar19 = (int *)((int)piVar10 + 1);\n          if (piVar19 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            eVar24 = (*byte_get)((uchar *)piVar10,iVar9);\n            uVar17 = (uint)eVar24 & 0xff;\n          }\n          else {\n            uVar17 = 0;\n            if ((piVar10 < local_80) && (iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar17);\n          piVar10 = piVar19;\n          local_8c = piVar11;\n        } while (piVar19 != piVar11);\n      }\n    }\n    else {\n      if ((piVar19 < local_80) && (iVar9 = (int)local_80 - (int)piVar19, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar10 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (dwarf_vma *)0x0;\n      if (local_80 <= piVar10 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 4),iVar9);\n      local_70 = (uint)eVar24;\n      local_64 = (int *)(local_70 << 2);\n      if (piVar10 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar10 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_6c._4_4_ = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar10 + 7) goto LAB_00058291;\nLAB_00058df0:\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 6),4);\n      local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);\n      if (piVar10 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar10 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar10 + 8;\n      pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar7);\n    }\n    puVar4 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar4);\n    pcVar7 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar7);\n    if (local_88 != (int *)0x0) {\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar10 = (int *)((int)piVar11 + local_7c);\n        uVar17 = local_7c;\n        if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7,iVar9,uVar22);\n        piVar11 = piVar10;\n        iVar9 = iVar18;\n      } while (local_88 != (int *)iVar18);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar4);\n    pcVar7 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar7);\n    if (local_78 != 0) {\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar10 = (int *)((int)piVar11 + local_7c);\n        uVar17 = local_7c;\n        if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7,iVar9,uVar22);\n        piVar11 = piVar10;\n        iVar9 = iVar18;\n      } while (iVar18 != local_78);\n      local_8c = (int *)((int)local_8c + iVar18 * local_7c);\n    }\n    putc(10,*(FILE **)puVar4);\n    pcVar7 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar7);\n    if (local_74 != (dwarf_vma *)0x0) {\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar11 + 2 < local_80) {\n          iVar18 = 8;\nLAB_0005862e:\n          eVar24 = (*byte_get)((uchar *)piVar11,iVar18);\n          local_94._0_4_ = (uint)eVar24;\n        }\n        else {\n          local_94._0_4_ = 0;\n          if ((piVar11 < local_80) && (iVar18 = (int)local_80 - (int)piVar11, iVar18 - 1U < 8))\n          goto LAB_0005862e;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7);\n        print_dwarf_vma(CONCAT44(iVar9,pcVar7),(uint)local_94);\n        putc(10,*(FILE **)puVar4);\n        piVar11 = piVar11 + 2;\n        iVar9 = iVar18;\n      } while ((dwarf_vma *)iVar18 != local_74);\n      local_8c = local_8c + iVar18 * 2;\n    }\n    putc(10,*(FILE **)puVar4);\n    puVar23 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar23);\n    local_50 = (int *)((int)local_4c + local_6c._4_4_);\n    puVar20 = (uchar *)(local_6c._4_4_ + (int)local_50);\n    piVar11 = (int *)(puVar20 + (int)local_6c);\n    if (local_80 < piVar11) {\n      puVar20 = section->start;\n      pcVar7 = (char *)dcgettext(0,\n                                 "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                                 ,5);\n      warn(pcVar7,(int)piVar11 - (int)puVar20,(int)local_80 - (int)puVar20,\n           (int)piVar2 - (int)puVar20);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar10 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar10 != local_8c);\n    }\n    pcVar7 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70,\n                                5);\n    printf(pcVar7,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar6 = 0;\n      uVar17 = *puVar23;\n      puVar15 = puVar23;\n      while (puVar15 = puVar15 + 1, puVar23 + local_44 != puVar15) {\n        uVar14 = *puVar15;\n        if (uVar17 % local_70 == uVar14 % local_70) {\n          uVar6 = uVar6 + 1;\n          local_78 = local_78 + 1;\n          uVar17 = uVar14;\n          if (local_88 < uVar6) {\n            local_88 = (int *)uVar6;\n          }\n        }\n        else {\n          uVar6 = 0;\n          uVar17 = uVar14;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar7 = (char *)dcgettext(0,\n                               "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                               ,5);\n    printf(pcVar7,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (dwarf_vma *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n      puVar20 = puVar20 + bytes_read;\n      if (dVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (dwarf_vma *)xrealloc(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < pdVar1) {\n        dVar26 = *local_74;\n        pdVar12 = local_74;\n        while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058864;\n          dVar26 = *pdVar12;\n        }\n        puVar3 = section->start;\n        pcVar7 = (char *)dcgettext(0,\n                                   "Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"\n                                   ,5);\n        warn(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar3);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *pdVar1 = dVar25;\n      *(uchar **)(pdVar1 + 1) = puVar20;\n      read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n      puVar20 = puVar20 + bytes_read;\n      do {\n        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n        dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n      } while (dVar25 != 0 || dVar26 != 0);\n    }\n    in_stack_ffffff58 = "\nSymbol table:\n";\n    pcVar7 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar7);\n    if (local_44 != 0) {\n      pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\nLAB_000589d0:\n      uVar17 = local_7c;\n      if (((int *)((int)local_4c + local_7c) < local_80) ||\n         ((local_4c < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n        (*byte_get)((uchar *)local_4c,uVar17);\n      }\n      uVar17 = local_7c;\n      if (((int *)((int)local_50 + local_7c) < local_80) ||\n         ((local_64 = piVar11, local_50 < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n        eVar24 = (*byte_get)((uchar *)local_50,uVar17);\n        local_64 = (int *)((int)eVar24 + (int)piVar11);\n      }\n      puVar20 = fetch_indirect_string(in_stack_ffffff64);\n      printf("[%3u] #%08x %s:",local_60,puVar23[local_60],puVar20);\n      local_88 = local_64;\n      local_6c = 0xffffffffffffffff;\n      local_8c = (int *)0xfffffffe;\n      do {\n        while( true ) {\n          dVar25 = read_leb128((uchar *)local_88,&bytes_read,0,(uchar *)local_80);\n          uVar17 = bytes_read;\n          if (local_8c != (int *)0xffffffff) break;\n          local_88 = local_64;\n          local_8c = (int *)0x0;\n          local_6c = dVar25;\n        }\n        if (dVar25 == 0) goto LAB_00058b8d;\n        if (-1 < (int)local_8c) {\n          if (local_8c == (int *)0x0) {\n            puVar13 = &DAT_0007c3bc;\n            if ((int)local_6c != 0 || local_6c._4_4_ != 0) goto LAB_00058d60;\n          }\n          else {\nLAB_00058d60:\n            puVar13 = &DAT_0007bc58;\n          }\n          printf("%s<%lu>",puVar13,(int)dVar25);\n        }\n        if (pdVar1 <= local_74) goto LAB_00058b50;\n        dVar26 = *local_74;\n        pdVar12 = local_74;\n        while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058b50;\n          dVar26 = *pdVar12;\n        }\n        puVar20 = *(uchar **)(pdVar12 + 1);\n        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n        if (-1 < (int)local_8c) {\n          pcVar7 = get_TAG_name((ulong)dVar25);\n          printf(" %s",pcVar7);\n        }\n        local_88 = (int *)((int)local_88 + uVar17);\n        while( true ) {\n          dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          if (dVar25 == 0 && dVar26 == 0) break;\n          if (-1 < (int)local_8c) {\n            pcVar7 = get_DW_IDX_name((uint)dVar25);\n            if (pcVar7 == (char *)0x0) {\n              pcVar7 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n              snprintf(buffer_10366,100,pcVar7,(uint)dVar25);\n              pcVar7 = buffer_10366;\n            }\n            printf(" %s",pcVar7);\n          }\n          local_88 = (int *)read_and_display_attr_value\n                                      (0,(ulong)dVar26,0,(uchar *)local_88,(uchar *)local_80,0,0,\n                                       (ulonglong)local_7c,5,(debug_info *)0x0,\n                                       (uint)local_8c >> 0x1f,(dwarf_section *)0x0,(cu_tu_set *)0x0,\n                                       '=');\n        }\n        local_8c = (int *)((int)local_8c + 1);\n      } while( true );\n    }\nLAB_00058bc3:\n    free(local_74);\n    piVar2 = local_80;\n  } while( true );\nLAB_00058b50:\n  puVar20 = section->start;\n  pcVar7 = (char *)dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5\n                            );\n  warn(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar20);\nLAB_00058b8d:\n  if ((int)local_8c < 1) {\n    pcVar7 = (char *)dcgettext(0," <no entries>",5);\n    printf(pcVar7);\n  }\n  in_stack_ffffff58 = *(char **)puVar4;\n  putc(10,(FILE *)in_stack_ffffff58);\n  local_60 = local_60 + 1;\n  local_50 = (int *)((int)local_50 + local_7c);\n  local_4c = (int *)((int)local_4c + local_7c);\n  if (local_60 == local_44) goto LAB_00058bc3;\n  goto LAB_000589d0;\n}\n\n" comment (function_definition "int display_debug_names(dwarf_section *section,void *file)\n\n{\n  dwarf_vma *pdVar1;\n  int *piVar2;\n  uchar *puVar3;\n  undefined *puVar4;\n  FILE *pFVar5;\n  uint uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  char *message;\n  int iVar9;\n  int *piVar10;\n  int *piVar11;\n  dwarf_vma *pdVar12;\n  undefined *puVar13;\n  dwarf_section *in_ECX;\n  uint uVar14;\n  uint *puVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  int *piVar19;\n  uchar *puVar20;\n  int *piVar21;\n  undefined4 uVar22;\n  uint *puVar23;\n  elf_vma eVar24;\n  dwarf_vma dVar25;\n  dwarf_vma dVar26;\n  char *in_stack_ffffff58;\n  dwarf_vma in_stack_ffffff64;\n  undefined8 local_94;\n  int *local_8c;\n  int *local_88;\n  int *local_80;\n  uint local_7c;\n  int local_78;\n  dwarf_vma *local_74;\n  uint local_70;\n  undefined8 local_6c;\n  int *local_64;\n  int local_60;\n  int *local_50;\n  int *local_4c;\n  int local_44;\n  uint bytes_read;\n  \n  piVar2 = (int *)section->start;\n  piVar21 = (int *)((int)piVar2 + (int)section->size);\n  introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,in_ECX);\n  load_debug_section_with_follow(str,file);\n  do {\n    if (piVar21 <= piVar2) {\n      return 1;\n    }\n    piVar11 = piVar2 + 1;\n    piVar10 = piVar11;\n    if (piVar11 < piVar21) {\n      pFVar5 = (FILE *)0x4;\nLAB_00058065:\n      local_94 = (*byte_get)((uchar *)piVar2,(int)pFVar5);\n      local_7c = 4;\n      in_stack_ffffff58 = (char *)pFVar5;\n      if (local_94 == 0xffffffff) {\n        piVar10 = piVar2 + 3;\n        if (piVar10 < piVar21) {\n          in_stack_ffffff58 = (char *)0x8;\n        }\n        else if ((piVar21 <= piVar11) ||\n                (in_stack_ffffff58 = (char *)((int)piVar21 - (int)piVar11),\n                (char *)0x7 < ((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27)) {\n          local_7c = 8;\n          in_stack_ffffff58 = (char *)pFVar5;\n          goto LAB_00057fac;\n        }\n        local_94 = (*byte_get)((uchar *)piVar11,(int)in_stack_ffffff58);\n        local_7c = 8;\n      }\n      local_80 = (int *)((int)piVar10 + (uint)local_94);\n      uVar14 = (int)piVar10 - (int)section->start;\n      uVar6 = uVar14 + (uint)local_94;\n      uVar16 = local_94._4_4_ + (uint)CARRY4(uVar14,(uint)local_94);\n      uVar17 = (uint)local_94;\n      if (uVar16 < (uVar6 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      pFVar5 = (FILE *)((int)piVar21 - (int)piVar2);\n      if (pFVar5[-1]._unused2 + 0x27 < (char *)0x8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      uVar16 = 0;\n      local_94 = 0;\n      uVar6 = (int)piVar10 - (int)section->start;\n      uVar17 = 0;\n      local_80 = piVar10;\n    }\n    uVar14 = *(uint *)((int)&section->size + 4);\n    if (uVar14 < uVar16 || uVar14 - uVar16 < (uint)((uint)section->size < uVar6)) {\nLAB_000580cc:\n      pcVar8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_ffffff58) << 0x20,(uint)local_94);\n      puVar20 = section->start;\n      pcVar7 = section->name;\n      message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(message,pcVar7,(int)piVar2 - (int)puVar20,pcVar8);\n      return 0;\n    }\n    piVar11 = (int *)((int)piVar10 + 2);\n    if (piVar11 < local_80) {\n      uVar17 = 2;\n    }\n    else if ((local_80 <= piVar10) || (7 < uVar17 - 1)) {\n      pcVar7 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar7,0);\n      goto LAB_00058029;\n    }\n    eVar24 = (*byte_get)((uchar *)piVar10,uVar17);\n    pcVar7 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar7,(uint)eVar24 & 0xffff);\n    if ((short)eVar24 != 5) {\nLAB_00058029:\n      pcVar7 = (char *)dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(pcVar7);\n      return 0;\n    }\n    piVar19 = piVar10 + 1;\n    if (piVar19 < local_80) {\n      iVar9 = 2;\nLAB_00058e95:\n      eVar24 = (*byte_get)((uchar *)piVar11,iVar9);\n      if ((short)eVar24 != 0) {\n        pcVar7 = (char *)dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(pcVar7,(uint)eVar24 & 0xffff);\n      }\n      if (piVar10 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar19) || (iVar9 = (int)local_80 - (int)piVar19, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      eVar24 = (*byte_get)((uchar *)piVar19,iVar9);\n      local_88 = (int *)eVar24;\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar11 < local_80) && ((uint)local_94 - 3 < 8)) {\n        iVar9 = (uint)local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar10 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      pcVar7 = (char *)dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(pcVar7);\n      local_88 = (int *)0x0;\n    }\n    piVar19 = piVar10 + 2;\n    piVar11 = piVar10 + 3;\n    if (piVar11 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      eVar24 = (*byte_get)((uchar *)piVar19,iVar9);\n      local_78 = (int)eVar24;\n      if (piVar10 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar11) || (iVar9 = (int)local_80 - (int)piVar11, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      eVar24 = (*byte_get)((uchar *)piVar11,iVar9);\n      local_74 = (dwarf_vma *)eVar24;\n      if (piVar10 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar10 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar10 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar11 = piVar10 + 6;\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 5),iVar9);\n      local_44 = (int)eVar24;\n      local_60 = local_44 * 4;\n      local_6c._4_4_ = local_44 * local_7c;\n      if (piVar10 + 7 < local_80) goto LAB_00058df0;\n      if ((local_80 <= piVar11) || (7 < ((int)local_80 - (int)piVar11) - 1U)) {\nLAB_00058291:\n        if (piVar10 + 8 < local_80) {\n          local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n        goto LAB_0005838d;\n      }\n      eVar24 = (*byte_get)((uchar *)piVar11,(int)local_80 - (int)piVar11);\n      local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);\n      if (local_80 <= piVar10 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar10 + 8;\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 7),iVar9);\n      iVar9 = (int)eVar24;\n      if ((eVar24 & 3) != 0) {\n        pcVar7 = (char *)dcgettext(0,\n                                   "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                                   ,5);\n        warn(pcVar7,iVar9);\n        iVar9 = iVar9 + (-iVar9 & 3U);\n      }\n      pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar7);\n      if (iVar9 != 0) {\n        piVar11 = (int *)((int)local_8c + iVar9);\n        piVar10 = local_8c;\n        do {\n          piVar19 = (int *)((int)piVar10 + 1);\n          if (piVar19 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            eVar24 = (*byte_get)((uchar *)piVar10,iVar9);\n            uVar17 = (uint)eVar24 & 0xff;\n          }\n          else {\n            uVar17 = 0;\n            if ((piVar10 < local_80) && (iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar17);\n          piVar10 = piVar19;\n          local_8c = piVar11;\n        } while (piVar19 != piVar11);\n      }\n    }\n    else {\n      if ((piVar19 < local_80) && (iVar9 = (int)local_80 - (int)piVar19, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar10 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (dwarf_vma *)0x0;\n      if (local_80 <= piVar10 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 4),iVar9);\n      local_70 = (uint)eVar24;\n      local_64 = (int *)(local_70 << 2);\n      if (piVar10 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar10 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_6c._4_4_ = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar10 + 7) goto LAB_00058291;\nLAB_00058df0:\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 6),4);\n      local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);\n      if (piVar10 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar10 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar10 + 8;\n      pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar7);\n    }\n    puVar4 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar4);\n    pcVar7 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar7);\n    if (local_88 != (int *)0x0) {\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar10 = (int *)((int)piVar11 + local_7c);\n        uVar17 = local_7c;\n        if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7,iVar9,uVar22);\n        piVar11 = piVar10;\n        iVar9 = iVar18;\n      } while (local_88 != (int *)iVar18);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar4);\n    pcVar7 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar7);\n    if (local_78 != 0) {\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar10 = (int *)((int)piVar11 + local_7c);\n        uVar17 = local_7c;\n        if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7,iVar9,uVar22);\n        piVar11 = piVar10;\n        iVar9 = iVar18;\n      } while (iVar18 != local_78);\n      local_8c = (int *)((int)local_8c + iVar18 * local_7c);\n    }\n    putc(10,*(FILE **)puVar4);\n    pcVar7 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar7);\n    if (local_74 != (dwarf_vma *)0x0) {\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar11 + 2 < local_80) {\n          iVar18 = 8;\nLAB_0005862e:\n          eVar24 = (*byte_get)((uchar *)piVar11,iVar18);\n          local_94._0_4_ = (uint)eVar24;\n        }\n        else {\n          local_94._0_4_ = 0;\n          if ((piVar11 < local_80) && (iVar18 = (int)local_80 - (int)piVar11, iVar18 - 1U < 8))\n          goto LAB_0005862e;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7);\n        print_dwarf_vma(CONCAT44(iVar9,pcVar7),(uint)local_94);\n        putc(10,*(FILE **)puVar4);\n        piVar11 = piVar11 + 2;\n        iVar9 = iVar18;\n      } while ((dwarf_vma *)iVar18 != local_74);\n      local_8c = local_8c + iVar18 * 2;\n    }\n    putc(10,*(FILE **)puVar4);\n    puVar23 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar23);\n    local_50 = (int *)((int)local_4c + local_6c._4_4_);\n    puVar20 = (uchar *)(local_6c._4_4_ + (int)local_50);\n    piVar11 = (int *)(puVar20 + (int)local_6c);\n    if (local_80 < piVar11) {\n      puVar20 = section->start;\n      pcVar7 = (char *)dcgettext(0,\n                                 "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                                 ,5);\n      warn(pcVar7,(int)piVar11 - (int)puVar20,(int)local_80 - (int)puVar20,\n           (int)piVar2 - (int)puVar20);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar10 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar10 != local_8c);\n    }\n    pcVar7 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70,\n                                5);\n    printf(pcVar7,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar6 = 0;\n      uVar17 = *puVar23;\n      puVar15 = puVar23;\n      while (puVar15 = puVar15 + 1, puVar23 + local_44 != puVar15) {\n        uVar14 = *puVar15;\n        if (uVar17 % local_70 == uVar14 % local_70) {\n          uVar6 = uVar6 + 1;\n          local_78 = local_78 + 1;\n          uVar17 = uVar14;\n          if (local_88 < uVar6) {\n            local_88 = (int *)uVar6;\n          }\n        }\n        else {\n          uVar6 = 0;\n          uVar17 = uVar14;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar7 = (char *)dcgettext(0,\n                               "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                               ,5);\n    printf(pcVar7,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (dwarf_vma *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n      puVar20 = puVar20 + bytes_read;\n      if (dVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (dwarf_vma *)xrealloc(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < pdVar1) {\n        dVar26 = *local_74;\n        pdVar12 = local_74;\n        while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058864;\n          dVar26 = *pdVar12;\n        }\n        puVar3 = section->start;\n        pcVar7 = (char *)dcgettext(0,\n                                   "Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"\n                                   ,5);\n        warn(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar3);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *pdVar1 = dVar25;\n      *(uchar **)(pdVar1 + 1) = puVar20;\n      read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n      puVar20 = puVar20 + bytes_read;\n      do {\n        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n        dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n      } while (dVar25 != 0 || dVar26 != 0);\n    }\n    in_stack_ffffff58 = "\nSymbol table:\n";\n    pcVar7 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar7);\n    if (local_44 != 0) {\n      pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\nLAB_000589d0:\n      uVar17 = local_7c;\n      if (((int *)((int)local_4c + local_7c) < local_80) ||\n         ((local_4c < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n        (*byte_get)((uchar *)local_4c,uVar17);\n      }\n      uVar17 = local_7c;\n      if (((int *)((int)local_50 + local_7c) < local_80) ||\n         ((local_64 = piVar11, local_50 < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n        eVar24 = (*byte_get)((uchar *)local_50,uVar17);\n        local_64 = (int *)((int)eVar24 + (int)piVar11);\n      }\n      puVar20 = fetch_indirect_string(in_stack_ffffff64);\n      printf("[%3u] #%08x %s:",local_60,puVar23[local_60],puVar20);\n      local_88 = local_64;\n      local_6c = 0xffffffffffffffff;\n      local_8c = (int *)0xfffffffe;\n      do {\n        while( true ) {\n          dVar25 = read_leb128((uchar *)local_88,&bytes_read,0,(uchar *)local_80);\n          uVar17 = bytes_read;\n          if (local_8c != (int *)0xffffffff) break;\n          local_88 = local_64;\n          local_8c = (int *)0x0;\n          local_6c = dVar25;\n        }\n        if (dVar25 == 0) goto LAB_00058b8d;\n        if (-1 < (int)local_8c) {\n          if (local_8c == (int *)0x0) {\n            puVar13 = &DAT_0007c3bc;\n            if ((int)local_6c != 0 || local_6c._4_4_ != 0) goto LAB_00058d60;\n          }\n          else {\nLAB_00058d60:\n            puVar13 = &DAT_0007bc58;\n          }\n          printf("%s<%lu>",puVar13,(int)dVar25);\n        }\n        if (pdVar1 <= local_74) goto LAB_00058b50;\n        dVar26 = *local_74;\n        pdVar12 = local_74;\n        while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058b50;\n          dVar26 = *pdVar12;\n        }\n        puVar20 = *(uchar **)(pdVar12 + 1);\n        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n        if (-1 < (int)local_8c) {\n          pcVar7 = get_TAG_name((ulong)dVar25);\n          printf(" %s",pcVar7);\n        }\n        local_88 = (int *)((int)local_88 + uVar17);\n        while( true ) {\n          dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          if (dVar25 == 0 && dVar26 == 0) break;\n          if (-1 < (int)local_8c) {\n            pcVar7 = get_DW_IDX_name((uint)dVar25);\n            if (pcVar7 == (char *)0x0) {\n              pcVar7 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n              snprintf(buffer_10366,100,pcVar7,(uint)dVar25);\n              pcVar7 = buffer_10366;\n            }\n            printf(" %s",pcVar7);\n          }\n          local_88 = (int *)read_and_display_attr_value\n                                      (0,(ulong)dVar26,0,(uchar *)local_88,(uchar *)local_80,0,0,\n                                       (ulonglong)local_7c,5,(debug_info *)0x0,\n                                       (uint)local_8c >> 0x1f,(dwarf_section *)0x0,(cu_tu_set *)0x0,\n                                       '=');\n        }\n        local_8c = (int *)((int)local_8c + 1);\n      } while( true );\n    }\nLAB_00058bc3:\n    free(local_74);\n    piVar2 = local_80;\n  } while( true );\nLAB_00058b50:\n  puVar20 = section->start;\n  pcVar7 = (char *)dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5\n                            );\n  warn(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar20);\nLAB_00058b8d:\n  if ((int)local_8c < 1) {\n    pcVar7 = (char *)dcgettext(0," <no entries>",5);\n    printf(pcVar7);\n  }\n  in_stack_ffffff58 = *(char **)puVar4;\n  putc(10,(FILE *)in_stack_ffffff58);\n  local_60 = local_60 + 1;\n  local_50 = (int *)((int)local_50 + local_7c);\n  local_4c = (int *)((int)local_4c + local_7c);\n  if (local_60 == local_44) goto LAB_00058bc3;\n  goto LAB_000589d0;\n}" primitive_type (function_declarator "display_debug_names(dwarf_section *section,void *file)" identifier (parameter_list "(dwarf_section *section,void *file)" ( (parameter_declaration "dwarf_section *section" type_identifier (pointer_declarator "*section" * identifier)) , (parameter_declaration "void *file" primitive_type (pointer_declarator "*file" * identifier)) ))) (compound_statement "{\n  dwarf_vma *pdVar1;\n  int *piVar2;\n  uchar *puVar3;\n  undefined *puVar4;\n  FILE *pFVar5;\n  uint uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  char *message;\n  int iVar9;\n  int *piVar10;\n  int *piVar11;\n  dwarf_vma *pdVar12;\n  undefined *puVar13;\n  dwarf_section *in_ECX;\n  uint uVar14;\n  uint *puVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  int *piVar19;\n  uchar *puVar20;\n  int *piVar21;\n  undefined4 uVar22;\n  uint *puVar23;\n  elf_vma eVar24;\n  dwarf_vma dVar25;\n  dwarf_vma dVar26;\n  char *in_stack_ffffff58;\n  dwarf_vma in_stack_ffffff64;\n  undefined8 local_94;\n  int *local_8c;\n  int *local_88;\n  int *local_80;\n  uint local_7c;\n  int local_78;\n  dwarf_vma *local_74;\n  uint local_70;\n  undefined8 local_6c;\n  int *local_64;\n  int local_60;\n  int *local_50;\n  int *local_4c;\n  int local_44;\n  uint bytes_read;\n  \n  piVar2 = (int *)section->start;\n  piVar21 = (int *)((int)piVar2 + (int)section->size);\n  introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,in_ECX);\n  load_debug_section_with_follow(str,file);\n  do {\n    if (piVar21 <= piVar2) {\n      return 1;\n    }\n    piVar11 = piVar2 + 1;\n    piVar10 = piVar11;\n    if (piVar11 < piVar21) {\n      pFVar5 = (FILE *)0x4;\nLAB_00058065:\n      local_94 = (*byte_get)((uchar *)piVar2,(int)pFVar5);\n      local_7c = 4;\n      in_stack_ffffff58 = (char *)pFVar5;\n      if (local_94 == 0xffffffff) {\n        piVar10 = piVar2 + 3;\n        if (piVar10 < piVar21) {\n          in_stack_ffffff58 = (char *)0x8;\n        }\n        else if ((piVar21 <= piVar11) ||\n                (in_stack_ffffff58 = (char *)((int)piVar21 - (int)piVar11),\n                (char *)0x7 < ((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27)) {\n          local_7c = 8;\n          in_stack_ffffff58 = (char *)pFVar5;\n          goto LAB_00057fac;\n        }\n        local_94 = (*byte_get)((uchar *)piVar11,(int)in_stack_ffffff58);\n        local_7c = 8;\n      }\n      local_80 = (int *)((int)piVar10 + (uint)local_94);\n      uVar14 = (int)piVar10 - (int)section->start;\n      uVar6 = uVar14 + (uint)local_94;\n      uVar16 = local_94._4_4_ + (uint)CARRY4(uVar14,(uint)local_94);\n      uVar17 = (uint)local_94;\n      if (uVar16 < (uVar6 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      pFVar5 = (FILE *)((int)piVar21 - (int)piVar2);\n      if (pFVar5[-1]._unused2 + 0x27 < (char *)0x8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      uVar16 = 0;\n      local_94 = 0;\n      uVar6 = (int)piVar10 - (int)section->start;\n      uVar17 = 0;\n      local_80 = piVar10;\n    }\n    uVar14 = *(uint *)((int)&section->size + 4);\n    if (uVar14 < uVar16 || uVar14 - uVar16 < (uint)((uint)section->size < uVar6)) {\nLAB_000580cc:\n      pcVar8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_ffffff58) << 0x20,(uint)local_94);\n      puVar20 = section->start;\n      pcVar7 = section->name;\n      message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(message,pcVar7,(int)piVar2 - (int)puVar20,pcVar8);\n      return 0;\n    }\n    piVar11 = (int *)((int)piVar10 + 2);\n    if (piVar11 < local_80) {\n      uVar17 = 2;\n    }\n    else if ((local_80 <= piVar10) || (7 < uVar17 - 1)) {\n      pcVar7 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar7,0);\n      goto LAB_00058029;\n    }\n    eVar24 = (*byte_get)((uchar *)piVar10,uVar17);\n    pcVar7 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar7,(uint)eVar24 & 0xffff);\n    if ((short)eVar24 != 5) {\nLAB_00058029:\n      pcVar7 = (char *)dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(pcVar7);\n      return 0;\n    }\n    piVar19 = piVar10 + 1;\n    if (piVar19 < local_80) {\n      iVar9 = 2;\nLAB_00058e95:\n      eVar24 = (*byte_get)((uchar *)piVar11,iVar9);\n      if ((short)eVar24 != 0) {\n        pcVar7 = (char *)dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(pcVar7,(uint)eVar24 & 0xffff);\n      }\n      if (piVar10 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar19) || (iVar9 = (int)local_80 - (int)piVar19, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      eVar24 = (*byte_get)((uchar *)piVar19,iVar9);\n      local_88 = (int *)eVar24;\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar11 < local_80) && ((uint)local_94 - 3 < 8)) {\n        iVar9 = (uint)local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar10 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      pcVar7 = (char *)dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(pcVar7);\n      local_88 = (int *)0x0;\n    }\n    piVar19 = piVar10 + 2;\n    piVar11 = piVar10 + 3;\n    if (piVar11 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      eVar24 = (*byte_get)((uchar *)piVar19,iVar9);\n      local_78 = (int)eVar24;\n      if (piVar10 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar11) || (iVar9 = (int)local_80 - (int)piVar11, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      eVar24 = (*byte_get)((uchar *)piVar11,iVar9);\n      local_74 = (dwarf_vma *)eVar24;\n      if (piVar10 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar10 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar10 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar11 = piVar10 + 6;\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 5),iVar9);\n      local_44 = (int)eVar24;\n      local_60 = local_44 * 4;\n      local_6c._4_4_ = local_44 * local_7c;\n      if (piVar10 + 7 < local_80) goto LAB_00058df0;\n      if ((local_80 <= piVar11) || (7 < ((int)local_80 - (int)piVar11) - 1U)) {\nLAB_00058291:\n        if (piVar10 + 8 < local_80) {\n          local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n        goto LAB_0005838d;\n      }\n      eVar24 = (*byte_get)((uchar *)piVar11,(int)local_80 - (int)piVar11);\n      local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);\n      if (local_80 <= piVar10 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar10 + 8;\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 7),iVar9);\n      iVar9 = (int)eVar24;\n      if ((eVar24 & 3) != 0) {\n        pcVar7 = (char *)dcgettext(0,\n                                   "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                                   ,5);\n        warn(pcVar7,iVar9);\n        iVar9 = iVar9 + (-iVar9 & 3U);\n      }\n      pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar7);\n      if (iVar9 != 0) {\n        piVar11 = (int *)((int)local_8c + iVar9);\n        piVar10 = local_8c;\n        do {\n          piVar19 = (int *)((int)piVar10 + 1);\n          if (piVar19 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            eVar24 = (*byte_get)((uchar *)piVar10,iVar9);\n            uVar17 = (uint)eVar24 & 0xff;\n          }\n          else {\n            uVar17 = 0;\n            if ((piVar10 < local_80) && (iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar17);\n          piVar10 = piVar19;\n          local_8c = piVar11;\n        } while (piVar19 != piVar11);\n      }\n    }\n    else {\n      if ((piVar19 < local_80) && (iVar9 = (int)local_80 - (int)piVar19, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar10 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (dwarf_vma *)0x0;\n      if (local_80 <= piVar10 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 4),iVar9);\n      local_70 = (uint)eVar24;\n      local_64 = (int *)(local_70 << 2);\n      if (piVar10 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar10 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_6c._4_4_ = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar10 + 7) goto LAB_00058291;\nLAB_00058df0:\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 6),4);\n      local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);\n      if (piVar10 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar10 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar10 + 8;\n      pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar7);\n    }\n    puVar4 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar4);\n    pcVar7 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar7);\n    if (local_88 != (int *)0x0) {\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar10 = (int *)((int)piVar11 + local_7c);\n        uVar17 = local_7c;\n        if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7,iVar9,uVar22);\n        piVar11 = piVar10;\n        iVar9 = iVar18;\n      } while (local_88 != (int *)iVar18);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar4);\n    pcVar7 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar7);\n    if (local_78 != 0) {\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar10 = (int *)((int)piVar11 + local_7c);\n        uVar17 = local_7c;\n        if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7,iVar9,uVar22);\n        piVar11 = piVar10;\n        iVar9 = iVar18;\n      } while (iVar18 != local_78);\n      local_8c = (int *)((int)local_8c + iVar18 * local_7c);\n    }\n    putc(10,*(FILE **)puVar4);\n    pcVar7 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar7);\n    if (local_74 != (dwarf_vma *)0x0) {\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar11 + 2 < local_80) {\n          iVar18 = 8;\nLAB_0005862e:\n          eVar24 = (*byte_get)((uchar *)piVar11,iVar18);\n          local_94._0_4_ = (uint)eVar24;\n        }\n        else {\n          local_94._0_4_ = 0;\n          if ((piVar11 < local_80) && (iVar18 = (int)local_80 - (int)piVar11, iVar18 - 1U < 8))\n          goto LAB_0005862e;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7);\n        print_dwarf_vma(CONCAT44(iVar9,pcVar7),(uint)local_94);\n        putc(10,*(FILE **)puVar4);\n        piVar11 = piVar11 + 2;\n        iVar9 = iVar18;\n      } while ((dwarf_vma *)iVar18 != local_74);\n      local_8c = local_8c + iVar18 * 2;\n    }\n    putc(10,*(FILE **)puVar4);\n    puVar23 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar23);\n    local_50 = (int *)((int)local_4c + local_6c._4_4_);\n    puVar20 = (uchar *)(local_6c._4_4_ + (int)local_50);\n    piVar11 = (int *)(puVar20 + (int)local_6c);\n    if (local_80 < piVar11) {\n      puVar20 = section->start;\n      pcVar7 = (char *)dcgettext(0,\n                                 "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                                 ,5);\n      warn(pcVar7,(int)piVar11 - (int)puVar20,(int)local_80 - (int)puVar20,\n           (int)piVar2 - (int)puVar20);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar10 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar10 != local_8c);\n    }\n    pcVar7 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70,\n                                5);\n    printf(pcVar7,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar6 = 0;\n      uVar17 = *puVar23;\n      puVar15 = puVar23;\n      while (puVar15 = puVar15 + 1, puVar23 + local_44 != puVar15) {\n        uVar14 = *puVar15;\n        if (uVar17 % local_70 == uVar14 % local_70) {\n          uVar6 = uVar6 + 1;\n          local_78 = local_78 + 1;\n          uVar17 = uVar14;\n          if (local_88 < uVar6) {\n            local_88 = (int *)uVar6;\n          }\n        }\n        else {\n          uVar6 = 0;\n          uVar17 = uVar14;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar7 = (char *)dcgettext(0,\n                               "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                               ,5);\n    printf(pcVar7,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (dwarf_vma *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n      puVar20 = puVar20 + bytes_read;\n      if (dVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (dwarf_vma *)xrealloc(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < pdVar1) {\n        dVar26 = *local_74;\n        pdVar12 = local_74;\n        while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058864;\n          dVar26 = *pdVar12;\n        }\n        puVar3 = section->start;\n        pcVar7 = (char *)dcgettext(0,\n                                   "Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"\n                                   ,5);\n        warn(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar3);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *pdVar1 = dVar25;\n      *(uchar **)(pdVar1 + 1) = puVar20;\n      read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n      puVar20 = puVar20 + bytes_read;\n      do {\n        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n        dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n      } while (dVar25 != 0 || dVar26 != 0);\n    }\n    in_stack_ffffff58 = "\nSymbol table:\n";\n    pcVar7 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar7);\n    if (local_44 != 0) {\n      pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\nLAB_000589d0:\n      uVar17 = local_7c;\n      if (((int *)((int)local_4c + local_7c) < local_80) ||\n         ((local_4c < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n        (*byte_get)((uchar *)local_4c,uVar17);\n      }\n      uVar17 = local_7c;\n      if (((int *)((int)local_50 + local_7c) < local_80) ||\n         ((local_64 = piVar11, local_50 < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n        eVar24 = (*byte_get)((uchar *)local_50,uVar17);\n        local_64 = (int *)((int)eVar24 + (int)piVar11);\n      }\n      puVar20 = fetch_indirect_string(in_stack_ffffff64);\n      printf("[%3u] #%08x %s:",local_60,puVar23[local_60],puVar20);\n      local_88 = local_64;\n      local_6c = 0xffffffffffffffff;\n      local_8c = (int *)0xfffffffe;\n      do {\n        while( true ) {\n          dVar25 = read_leb128((uchar *)local_88,&bytes_read,0,(uchar *)local_80);\n          uVar17 = bytes_read;\n          if (local_8c != (int *)0xffffffff) break;\n          local_88 = local_64;\n          local_8c = (int *)0x0;\n          local_6c = dVar25;\n        }\n        if (dVar25 == 0) goto LAB_00058b8d;\n        if (-1 < (int)local_8c) {\n          if (local_8c == (int *)0x0) {\n            puVar13 = &DAT_0007c3bc;\n            if ((int)local_6c != 0 || local_6c._4_4_ != 0) goto LAB_00058d60;\n          }\n          else {\nLAB_00058d60:\n            puVar13 = &DAT_0007bc58;\n          }\n          printf("%s<%lu>",puVar13,(int)dVar25);\n        }\n        if (pdVar1 <= local_74) goto LAB_00058b50;\n        dVar26 = *local_74;\n        pdVar12 = local_74;\n        while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058b50;\n          dVar26 = *pdVar12;\n        }\n        puVar20 = *(uchar **)(pdVar12 + 1);\n        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n        if (-1 < (int)local_8c) {\n          pcVar7 = get_TAG_name((ulong)dVar25);\n          printf(" %s",pcVar7);\n        }\n        local_88 = (int *)((int)local_88 + uVar17);\n        while( true ) {\n          dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          if (dVar25 == 0 && dVar26 == 0) break;\n          if (-1 < (int)local_8c) {\n            pcVar7 = get_DW_IDX_name((uint)dVar25);\n            if (pcVar7 == (char *)0x0) {\n              pcVar7 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n              snprintf(buffer_10366,100,pcVar7,(uint)dVar25);\n              pcVar7 = buffer_10366;\n            }\n            printf(" %s",pcVar7);\n          }\n          local_88 = (int *)read_and_display_attr_value\n                                      (0,(ulong)dVar26,0,(uchar *)local_88,(uchar *)local_80,0,0,\n                                       (ulonglong)local_7c,5,(debug_info *)0x0,\n                                       (uint)local_8c >> 0x1f,(dwarf_section *)0x0,(cu_tu_set *)0x0,\n                                       '=');\n        }\n        local_8c = (int *)((int)local_8c + 1);\n      } while( true );\n    }\nLAB_00058bc3:\n    free(local_74);\n    piVar2 = local_80;\n  } while( true );\nLAB_00058b50:\n  puVar20 = section->start;\n  pcVar7 = (char *)dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5\n                            );\n  warn(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar20);\nLAB_00058b8d:\n  if ((int)local_8c < 1) {\n    pcVar7 = (char *)dcgettext(0," <no entries>",5);\n    printf(pcVar7);\n  }\n  in_stack_ffffff58 = *(char **)puVar4;\n  putc(10,(FILE *)in_stack_ffffff58);\n  local_60 = local_60 + 1;\n  local_50 = (int *)((int)local_50 + local_7c);\n  local_4c = (int *)((int)local_4c + local_7c);\n  if (local_60 == local_44) goto LAB_00058bc3;\n  goto LAB_000589d0;\n}" { (declaration "dwarf_vma *pdVar1;" type_identifier (pointer_declarator "*pdVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "uchar *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "FILE *pFVar5;" type_identifier (pointer_declarator "*pFVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "char *message;" primitive_type (pointer_declarator "*message" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "dwarf_vma *pdVar12;" type_identifier (pointer_declarator "*pdVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "dwarf_section *in_ECX;" type_identifier (pointer_declarator "*in_ECX" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "uchar *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "undefined4 uVar22;" type_identifier identifier ;) (declaration "uint *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "elf_vma eVar24;" type_identifier identifier ;) (declaration "dwarf_vma dVar25;" type_identifier identifier ;) (declaration "dwarf_vma dVar26;" type_identifier identifier ;) (declaration "char *in_stack_ffffff58;" primitive_type (pointer_declarator "*in_stack_ffffff58" * identifier) ;) (declaration "dwarf_vma in_stack_ffffff64;" type_identifier identifier ;) (declaration "undefined8 local_94;" type_identifier identifier ;) (declaration "int *local_8c;" primitive_type (pointer_declarator "*local_8c" * identifier) ;) (declaration "int *local_88;" primitive_type (pointer_declarator "*local_88" * identifier) ;) (declaration "int *local_80;" primitive_type (pointer_declarator "*local_80" * identifier) ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "int local_78;" primitive_type identifier ;) (declaration "dwarf_vma *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "undefined8 local_6c;" type_identifier identifier ;) (declaration "int *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "int *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "int *local_4c;" primitive_type (pointer_declarator "*local_4c" * identifier) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "uint bytes_read;" type_identifier identifier ;) (expression_statement "piVar2 = (int *)section->start;" (assignment_expression "piVar2 = (int *)section->start" identifier = (cast_expression "(int *)section->start" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "section->start" identifier -> field_identifier))) ;) (expression_statement "piVar21 = (int *)((int)piVar2 + (int)section->size);" (assignment_expression "piVar21 = (int *)((int)piVar2 + (int)section->size)" identifier = (cast_expression "(int *)((int)piVar2 + (int)section->size)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + (int)section->size)" ( (binary_expression "(int)piVar2 + (int)section->size" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)section->size" ( (type_descriptor "int" primitive_type) ) (field_expression "section->size" identifier -> field_identifier))) )))) ;) (expression_statement "introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,in_ECX);" (call_expression "introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,in_ECX)" identifier (argument_list "((dwarf_section *)section->name,(bfd_boolean)&section->filename,in_ECX)" ( (cast_expression "(dwarf_section *)section->name" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "section->name" identifier -> field_identifier)) , (binary_expression "(bfd_boolean)&section->filename" (parenthesized_expression "(bfd_boolean)" ( identifier )) & (field_expression "section->filename" identifier -> field_identifier)) , identifier ))) ;) (expression_statement "load_debug_section_with_follow(str,file);" (call_expression "load_debug_section_with_follow(str,file)" identifier (argument_list "(str,file)" ( identifier , identifier ))) ;) (do_statement "do {\n    if (piVar21 <= piVar2) {\n      return 1;\n    }\n    piVar11 = piVar2 + 1;\n    piVar10 = piVar11;\n    if (piVar11 < piVar21) {\n      pFVar5 = (FILE *)0x4;\nLAB_00058065:\n      local_94 = (*byte_get)((uchar *)piVar2,(int)pFVar5);\n      local_7c = 4;\n      in_stack_ffffff58 = (char *)pFVar5;\n      if (local_94 == 0xffffffff) {\n        piVar10 = piVar2 + 3;\n        if (piVar10 < piVar21) {\n          in_stack_ffffff58 = (char *)0x8;\n        }\n        else if ((piVar21 <= piVar11) ||\n                (in_stack_ffffff58 = (char *)((int)piVar21 - (int)piVar11),\n                (char *)0x7 < ((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27)) {\n          local_7c = 8;\n          in_stack_ffffff58 = (char *)pFVar5;\n          goto LAB_00057fac;\n        }\n        local_94 = (*byte_get)((uchar *)piVar11,(int)in_stack_ffffff58);\n        local_7c = 8;\n      }\n      local_80 = (int *)((int)piVar10 + (uint)local_94);\n      uVar14 = (int)piVar10 - (int)section->start;\n      uVar6 = uVar14 + (uint)local_94;\n      uVar16 = local_94._4_4_ + (uint)CARRY4(uVar14,(uint)local_94);\n      uVar17 = (uint)local_94;\n      if (uVar16 < (uVar6 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      pFVar5 = (FILE *)((int)piVar21 - (int)piVar2);\n      if (pFVar5[-1]._unused2 + 0x27 < (char *)0x8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      uVar16 = 0;\n      local_94 = 0;\n      uVar6 = (int)piVar10 - (int)section->start;\n      uVar17 = 0;\n      local_80 = piVar10;\n    }\n    uVar14 = *(uint *)((int)&section->size + 4);\n    if (uVar14 < uVar16 || uVar14 - uVar16 < (uint)((uint)section->size < uVar6)) {\nLAB_000580cc:\n      pcVar8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_ffffff58) << 0x20,(uint)local_94);\n      puVar20 = section->start;\n      pcVar7 = section->name;\n      message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(message,pcVar7,(int)piVar2 - (int)puVar20,pcVar8);\n      return 0;\n    }\n    piVar11 = (int *)((int)piVar10 + 2);\n    if (piVar11 < local_80) {\n      uVar17 = 2;\n    }\n    else if ((local_80 <= piVar10) || (7 < uVar17 - 1)) {\n      pcVar7 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar7,0);\n      goto LAB_00058029;\n    }\n    eVar24 = (*byte_get)((uchar *)piVar10,uVar17);\n    pcVar7 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar7,(uint)eVar24 & 0xffff);\n    if ((short)eVar24 != 5) {\nLAB_00058029:\n      pcVar7 = (char *)dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(pcVar7);\n      return 0;\n    }\n    piVar19 = piVar10 + 1;\n    if (piVar19 < local_80) {\n      iVar9 = 2;\nLAB_00058e95:\n      eVar24 = (*byte_get)((uchar *)piVar11,iVar9);\n      if ((short)eVar24 != 0) {\n        pcVar7 = (char *)dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(pcVar7,(uint)eVar24 & 0xffff);\n      }\n      if (piVar10 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar19) || (iVar9 = (int)local_80 - (int)piVar19, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      eVar24 = (*byte_get)((uchar *)piVar19,iVar9);\n      local_88 = (int *)eVar24;\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar11 < local_80) && ((uint)local_94 - 3 < 8)) {\n        iVar9 = (uint)local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar10 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      pcVar7 = (char *)dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(pcVar7);\n      local_88 = (int *)0x0;\n    }\n    piVar19 = piVar10 + 2;\n    piVar11 = piVar10 + 3;\n    if (piVar11 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      eVar24 = (*byte_get)((uchar *)piVar19,iVar9);\n      local_78 = (int)eVar24;\n      if (piVar10 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar11) || (iVar9 = (int)local_80 - (int)piVar11, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      eVar24 = (*byte_get)((uchar *)piVar11,iVar9);\n      local_74 = (dwarf_vma *)eVar24;\n      if (piVar10 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar10 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar10 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar11 = piVar10 + 6;\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 5),iVar9);\n      local_44 = (int)eVar24;\n      local_60 = local_44 * 4;\n      local_6c._4_4_ = local_44 * local_7c;\n      if (piVar10 + 7 < local_80) goto LAB_00058df0;\n      if ((local_80 <= piVar11) || (7 < ((int)local_80 - (int)piVar11) - 1U)) {\nLAB_00058291:\n        if (piVar10 + 8 < local_80) {\n          local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n        goto LAB_0005838d;\n      }\n      eVar24 = (*byte_get)((uchar *)piVar11,(int)local_80 - (int)piVar11);\n      local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);\n      if (local_80 <= piVar10 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar10 + 8;\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 7),iVar9);\n      iVar9 = (int)eVar24;\n      if ((eVar24 & 3) != 0) {\n        pcVar7 = (char *)dcgettext(0,\n                                   "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                                   ,5);\n        warn(pcVar7,iVar9);\n        iVar9 = iVar9 + (-iVar9 & 3U);\n      }\n      pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar7);\n      if (iVar9 != 0) {\n        piVar11 = (int *)((int)local_8c + iVar9);\n        piVar10 = local_8c;\n        do {\n          piVar19 = (int *)((int)piVar10 + 1);\n          if (piVar19 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            eVar24 = (*byte_get)((uchar *)piVar10,iVar9);\n            uVar17 = (uint)eVar24 & 0xff;\n          }\n          else {\n            uVar17 = 0;\n            if ((piVar10 < local_80) && (iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar17);\n          piVar10 = piVar19;\n          local_8c = piVar11;\n        } while (piVar19 != piVar11);\n      }\n    }\n    else {\n      if ((piVar19 < local_80) && (iVar9 = (int)local_80 - (int)piVar19, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar10 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (dwarf_vma *)0x0;\n      if (local_80 <= piVar10 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 4),iVar9);\n      local_70 = (uint)eVar24;\n      local_64 = (int *)(local_70 << 2);\n      if (piVar10 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar10 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_6c._4_4_ = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar10 + 7) goto LAB_00058291;\nLAB_00058df0:\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 6),4);\n      local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);\n      if (piVar10 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar10 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar10 + 8;\n      pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar7);\n    }\n    puVar4 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar4);\n    pcVar7 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar7);\n    if (local_88 != (int *)0x0) {\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar10 = (int *)((int)piVar11 + local_7c);\n        uVar17 = local_7c;\n        if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7,iVar9,uVar22);\n        piVar11 = piVar10;\n        iVar9 = iVar18;\n      } while (local_88 != (int *)iVar18);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar4);\n    pcVar7 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar7);\n    if (local_78 != 0) {\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar10 = (int *)((int)piVar11 + local_7c);\n        uVar17 = local_7c;\n        if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7,iVar9,uVar22);\n        piVar11 = piVar10;\n        iVar9 = iVar18;\n      } while (iVar18 != local_78);\n      local_8c = (int *)((int)local_8c + iVar18 * local_7c);\n    }\n    putc(10,*(FILE **)puVar4);\n    pcVar7 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar7);\n    if (local_74 != (dwarf_vma *)0x0) {\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar11 + 2 < local_80) {\n          iVar18 = 8;\nLAB_0005862e:\n          eVar24 = (*byte_get)((uchar *)piVar11,iVar18);\n          local_94._0_4_ = (uint)eVar24;\n        }\n        else {\n          local_94._0_4_ = 0;\n          if ((piVar11 < local_80) && (iVar18 = (int)local_80 - (int)piVar11, iVar18 - 1U < 8))\n          goto LAB_0005862e;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7);\n        print_dwarf_vma(CONCAT44(iVar9,pcVar7),(uint)local_94);\n        putc(10,*(FILE **)puVar4);\n        piVar11 = piVar11 + 2;\n        iVar9 = iVar18;\n      } while ((dwarf_vma *)iVar18 != local_74);\n      local_8c = local_8c + iVar18 * 2;\n    }\n    putc(10,*(FILE **)puVar4);\n    puVar23 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar23);\n    local_50 = (int *)((int)local_4c + local_6c._4_4_);\n    puVar20 = (uchar *)(local_6c._4_4_ + (int)local_50);\n    piVar11 = (int *)(puVar20 + (int)local_6c);\n    if (local_80 < piVar11) {\n      puVar20 = section->start;\n      pcVar7 = (char *)dcgettext(0,\n                                 "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                                 ,5);\n      warn(pcVar7,(int)piVar11 - (int)puVar20,(int)local_80 - (int)puVar20,\n           (int)piVar2 - (int)puVar20);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar10 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar10 != local_8c);\n    }\n    pcVar7 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70,\n                                5);\n    printf(pcVar7,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar6 = 0;\n      uVar17 = *puVar23;\n      puVar15 = puVar23;\n      while (puVar15 = puVar15 + 1, puVar23 + local_44 != puVar15) {\n        uVar14 = *puVar15;\n        if (uVar17 % local_70 == uVar14 % local_70) {\n          uVar6 = uVar6 + 1;\n          local_78 = local_78 + 1;\n          uVar17 = uVar14;\n          if (local_88 < uVar6) {\n            local_88 = (int *)uVar6;\n          }\n        }\n        else {\n          uVar6 = 0;\n          uVar17 = uVar14;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar7 = (char *)dcgettext(0,\n                               "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                               ,5);\n    printf(pcVar7,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (dwarf_vma *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n      puVar20 = puVar20 + bytes_read;\n      if (dVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (dwarf_vma *)xrealloc(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < pdVar1) {\n        dVar26 = *local_74;\n        pdVar12 = local_74;\n        while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058864;\n          dVar26 = *pdVar12;\n        }\n        puVar3 = section->start;\n        pcVar7 = (char *)dcgettext(0,\n                                   "Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"\n                                   ,5);\n        warn(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar3);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *pdVar1 = dVar25;\n      *(uchar **)(pdVar1 + 1) = puVar20;\n      read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n      puVar20 = puVar20 + bytes_read;\n      do {\n        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n        dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n      } while (dVar25 != 0 || dVar26 != 0);\n    }\n    in_stack_ffffff58 = "\nSymbol table:\n";\n    pcVar7 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar7);\n    if (local_44 != 0) {\n      pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\nLAB_000589d0:\n      uVar17 = local_7c;\n      if (((int *)((int)local_4c + local_7c) < local_80) ||\n         ((local_4c < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n        (*byte_get)((uchar *)local_4c,uVar17);\n      }\n      uVar17 = local_7c;\n      if (((int *)((int)local_50 + local_7c) < local_80) ||\n         ((local_64 = piVar11, local_50 < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n        eVar24 = (*byte_get)((uchar *)local_50,uVar17);\n        local_64 = (int *)((int)eVar24 + (int)piVar11);\n      }\n      puVar20 = fetch_indirect_string(in_stack_ffffff64);\n      printf("[%3u] #%08x %s:",local_60,puVar23[local_60],puVar20);\n      local_88 = local_64;\n      local_6c = 0xffffffffffffffff;\n      local_8c = (int *)0xfffffffe;\n      do {\n        while( true ) {\n          dVar25 = read_leb128((uchar *)local_88,&bytes_read,0,(uchar *)local_80);\n          uVar17 = bytes_read;\n          if (local_8c != (int *)0xffffffff) break;\n          local_88 = local_64;\n          local_8c = (int *)0x0;\n          local_6c = dVar25;\n        }\n        if (dVar25 == 0) goto LAB_00058b8d;\n        if (-1 < (int)local_8c) {\n          if (local_8c == (int *)0x0) {\n            puVar13 = &DAT_0007c3bc;\n            if ((int)local_6c != 0 || local_6c._4_4_ != 0) goto LAB_00058d60;\n          }\n          else {\nLAB_00058d60:\n            puVar13 = &DAT_0007bc58;\n          }\n          printf("%s<%lu>",puVar13,(int)dVar25);\n        }\n        if (pdVar1 <= local_74) goto LAB_00058b50;\n        dVar26 = *local_74;\n        pdVar12 = local_74;\n        while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058b50;\n          dVar26 = *pdVar12;\n        }\n        puVar20 = *(uchar **)(pdVar12 + 1);\n        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n        if (-1 < (int)local_8c) {\n          pcVar7 = get_TAG_name((ulong)dVar25);\n          printf(" %s",pcVar7);\n        }\n        local_88 = (int *)((int)local_88 + uVar17);\n        while( true ) {\n          dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          if (dVar25 == 0 && dVar26 == 0) break;\n          if (-1 < (int)local_8c) {\n            pcVar7 = get_DW_IDX_name((uint)dVar25);\n            if (pcVar7 == (char *)0x0) {\n              pcVar7 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n              snprintf(buffer_10366,100,pcVar7,(uint)dVar25);\n              pcVar7 = buffer_10366;\n            }\n            printf(" %s",pcVar7);\n          }\n          local_88 = (int *)read_and_display_attr_value\n                                      (0,(ulong)dVar26,0,(uchar *)local_88,(uchar *)local_80,0,0,\n                                       (ulonglong)local_7c,5,(debug_info *)0x0,\n                                       (uint)local_8c >> 0x1f,(dwarf_section *)0x0,(cu_tu_set *)0x0,\n                                       '=');\n        }\n        local_8c = (int *)((int)local_8c + 1);\n      } while( true );\n    }\nLAB_00058bc3:\n    free(local_74);\n    piVar2 = local_80;\n  } while( true );" do (compound_statement "{\n    if (piVar21 <= piVar2) {\n      return 1;\n    }\n    piVar11 = piVar2 + 1;\n    piVar10 = piVar11;\n    if (piVar11 < piVar21) {\n      pFVar5 = (FILE *)0x4;\nLAB_00058065:\n      local_94 = (*byte_get)((uchar *)piVar2,(int)pFVar5);\n      local_7c = 4;\n      in_stack_ffffff58 = (char *)pFVar5;\n      if (local_94 == 0xffffffff) {\n        piVar10 = piVar2 + 3;\n        if (piVar10 < piVar21) {\n          in_stack_ffffff58 = (char *)0x8;\n        }\n        else if ((piVar21 <= piVar11) ||\n                (in_stack_ffffff58 = (char *)((int)piVar21 - (int)piVar11),\n                (char *)0x7 < ((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27)) {\n          local_7c = 8;\n          in_stack_ffffff58 = (char *)pFVar5;\n          goto LAB_00057fac;\n        }\n        local_94 = (*byte_get)((uchar *)piVar11,(int)in_stack_ffffff58);\n        local_7c = 8;\n      }\n      local_80 = (int *)((int)piVar10 + (uint)local_94);\n      uVar14 = (int)piVar10 - (int)section->start;\n      uVar6 = uVar14 + (uint)local_94;\n      uVar16 = local_94._4_4_ + (uint)CARRY4(uVar14,(uint)local_94);\n      uVar17 = (uint)local_94;\n      if (uVar16 < (uVar6 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      pFVar5 = (FILE *)((int)piVar21 - (int)piVar2);\n      if (pFVar5[-1]._unused2 + 0x27 < (char *)0x8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      uVar16 = 0;\n      local_94 = 0;\n      uVar6 = (int)piVar10 - (int)section->start;\n      uVar17 = 0;\n      local_80 = piVar10;\n    }\n    uVar14 = *(uint *)((int)&section->size + 4);\n    if (uVar14 < uVar16 || uVar14 - uVar16 < (uint)((uint)section->size < uVar6)) {\nLAB_000580cc:\n      pcVar8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_ffffff58) << 0x20,(uint)local_94);\n      puVar20 = section->start;\n      pcVar7 = section->name;\n      message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(message,pcVar7,(int)piVar2 - (int)puVar20,pcVar8);\n      return 0;\n    }\n    piVar11 = (int *)((int)piVar10 + 2);\n    if (piVar11 < local_80) {\n      uVar17 = 2;\n    }\n    else if ((local_80 <= piVar10) || (7 < uVar17 - 1)) {\n      pcVar7 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar7,0);\n      goto LAB_00058029;\n    }\n    eVar24 = (*byte_get)((uchar *)piVar10,uVar17);\n    pcVar7 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar7,(uint)eVar24 & 0xffff);\n    if ((short)eVar24 != 5) {\nLAB_00058029:\n      pcVar7 = (char *)dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(pcVar7);\n      return 0;\n    }\n    piVar19 = piVar10 + 1;\n    if (piVar19 < local_80) {\n      iVar9 = 2;\nLAB_00058e95:\n      eVar24 = (*byte_get)((uchar *)piVar11,iVar9);\n      if ((short)eVar24 != 0) {\n        pcVar7 = (char *)dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(pcVar7,(uint)eVar24 & 0xffff);\n      }\n      if (piVar10 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar19) || (iVar9 = (int)local_80 - (int)piVar19, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      eVar24 = (*byte_get)((uchar *)piVar19,iVar9);\n      local_88 = (int *)eVar24;\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar11 < local_80) && ((uint)local_94 - 3 < 8)) {\n        iVar9 = (uint)local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar10 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      pcVar7 = (char *)dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(pcVar7);\n      local_88 = (int *)0x0;\n    }\n    piVar19 = piVar10 + 2;\n    piVar11 = piVar10 + 3;\n    if (piVar11 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      eVar24 = (*byte_get)((uchar *)piVar19,iVar9);\n      local_78 = (int)eVar24;\n      if (piVar10 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar11) || (iVar9 = (int)local_80 - (int)piVar11, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      eVar24 = (*byte_get)((uchar *)piVar11,iVar9);\n      local_74 = (dwarf_vma *)eVar24;\n      if (piVar10 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar10 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar10 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar11 = piVar10 + 6;\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 5),iVar9);\n      local_44 = (int)eVar24;\n      local_60 = local_44 * 4;\n      local_6c._4_4_ = local_44 * local_7c;\n      if (piVar10 + 7 < local_80) goto LAB_00058df0;\n      if ((local_80 <= piVar11) || (7 < ((int)local_80 - (int)piVar11) - 1U)) {\nLAB_00058291:\n        if (piVar10 + 8 < local_80) {\n          local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n        goto LAB_0005838d;\n      }\n      eVar24 = (*byte_get)((uchar *)piVar11,(int)local_80 - (int)piVar11);\n      local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);\n      if (local_80 <= piVar10 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar10 + 8;\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 7),iVar9);\n      iVar9 = (int)eVar24;\n      if ((eVar24 & 3) != 0) {\n        pcVar7 = (char *)dcgettext(0,\n                                   "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                                   ,5);\n        warn(pcVar7,iVar9);\n        iVar9 = iVar9 + (-iVar9 & 3U);\n      }\n      pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar7);\n      if (iVar9 != 0) {\n        piVar11 = (int *)((int)local_8c + iVar9);\n        piVar10 = local_8c;\n        do {\n          piVar19 = (int *)((int)piVar10 + 1);\n          if (piVar19 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            eVar24 = (*byte_get)((uchar *)piVar10,iVar9);\n            uVar17 = (uint)eVar24 & 0xff;\n          }\n          else {\n            uVar17 = 0;\n            if ((piVar10 < local_80) && (iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar17);\n          piVar10 = piVar19;\n          local_8c = piVar11;\n        } while (piVar19 != piVar11);\n      }\n    }\n    else {\n      if ((piVar19 < local_80) && (iVar9 = (int)local_80 - (int)piVar19, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar10 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (dwarf_vma *)0x0;\n      if (local_80 <= piVar10 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 4),iVar9);\n      local_70 = (uint)eVar24;\n      local_64 = (int *)(local_70 << 2);\n      if (piVar10 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar10 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_6c._4_4_ = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar10 + 7) goto LAB_00058291;\nLAB_00058df0:\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 6),4);\n      local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);\n      if (piVar10 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar10 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar10 + 8;\n      pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar7);\n    }\n    puVar4 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar4);\n    pcVar7 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar7);\n    if (local_88 != (int *)0x0) {\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar10 = (int *)((int)piVar11 + local_7c);\n        uVar17 = local_7c;\n        if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7,iVar9,uVar22);\n        piVar11 = piVar10;\n        iVar9 = iVar18;\n      } while (local_88 != (int *)iVar18);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar4);\n    pcVar7 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar7);\n    if (local_78 != 0) {\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar10 = (int *)((int)piVar11 + local_7c);\n        uVar17 = local_7c;\n        if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7,iVar9,uVar22);\n        piVar11 = piVar10;\n        iVar9 = iVar18;\n      } while (iVar18 != local_78);\n      local_8c = (int *)((int)local_8c + iVar18 * local_7c);\n    }\n    putc(10,*(FILE **)puVar4);\n    pcVar7 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar7);\n    if (local_74 != (dwarf_vma *)0x0) {\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar11 + 2 < local_80) {\n          iVar18 = 8;\nLAB_0005862e:\n          eVar24 = (*byte_get)((uchar *)piVar11,iVar18);\n          local_94._0_4_ = (uint)eVar24;\n        }\n        else {\n          local_94._0_4_ = 0;\n          if ((piVar11 < local_80) && (iVar18 = (int)local_80 - (int)piVar11, iVar18 - 1U < 8))\n          goto LAB_0005862e;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7);\n        print_dwarf_vma(CONCAT44(iVar9,pcVar7),(uint)local_94);\n        putc(10,*(FILE **)puVar4);\n        piVar11 = piVar11 + 2;\n        iVar9 = iVar18;\n      } while ((dwarf_vma *)iVar18 != local_74);\n      local_8c = local_8c + iVar18 * 2;\n    }\n    putc(10,*(FILE **)puVar4);\n    puVar23 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar23);\n    local_50 = (int *)((int)local_4c + local_6c._4_4_);\n    puVar20 = (uchar *)(local_6c._4_4_ + (int)local_50);\n    piVar11 = (int *)(puVar20 + (int)local_6c);\n    if (local_80 < piVar11) {\n      puVar20 = section->start;\n      pcVar7 = (char *)dcgettext(0,\n                                 "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                                 ,5);\n      warn(pcVar7,(int)piVar11 - (int)puVar20,(int)local_80 - (int)puVar20,\n           (int)piVar2 - (int)puVar20);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar10 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar10 != local_8c);\n    }\n    pcVar7 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70,\n                                5);\n    printf(pcVar7,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar6 = 0;\n      uVar17 = *puVar23;\n      puVar15 = puVar23;\n      while (puVar15 = puVar15 + 1, puVar23 + local_44 != puVar15) {\n        uVar14 = *puVar15;\n        if (uVar17 % local_70 == uVar14 % local_70) {\n          uVar6 = uVar6 + 1;\n          local_78 = local_78 + 1;\n          uVar17 = uVar14;\n          if (local_88 < uVar6) {\n            local_88 = (int *)uVar6;\n          }\n        }\n        else {\n          uVar6 = 0;\n          uVar17 = uVar14;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar7 = (char *)dcgettext(0,\n                               "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                               ,5);\n    printf(pcVar7,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (dwarf_vma *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n      puVar20 = puVar20 + bytes_read;\n      if (dVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (dwarf_vma *)xrealloc(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < pdVar1) {\n        dVar26 = *local_74;\n        pdVar12 = local_74;\n        while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058864;\n          dVar26 = *pdVar12;\n        }\n        puVar3 = section->start;\n        pcVar7 = (char *)dcgettext(0,\n                                   "Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"\n                                   ,5);\n        warn(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar3);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *pdVar1 = dVar25;\n      *(uchar **)(pdVar1 + 1) = puVar20;\n      read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n      puVar20 = puVar20 + bytes_read;\n      do {\n        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n        dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n      } while (dVar25 != 0 || dVar26 != 0);\n    }\n    in_stack_ffffff58 = "\nSymbol table:\n";\n    pcVar7 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar7);\n    if (local_44 != 0) {\n      pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\nLAB_000589d0:\n      uVar17 = local_7c;\n      if (((int *)((int)local_4c + local_7c) < local_80) ||\n         ((local_4c < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n        (*byte_get)((uchar *)local_4c,uVar17);\n      }\n      uVar17 = local_7c;\n      if (((int *)((int)local_50 + local_7c) < local_80) ||\n         ((local_64 = piVar11, local_50 < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n        eVar24 = (*byte_get)((uchar *)local_50,uVar17);\n        local_64 = (int *)((int)eVar24 + (int)piVar11);\n      }\n      puVar20 = fetch_indirect_string(in_stack_ffffff64);\n      printf("[%3u] #%08x %s:",local_60,puVar23[local_60],puVar20);\n      local_88 = local_64;\n      local_6c = 0xffffffffffffffff;\n      local_8c = (int *)0xfffffffe;\n      do {\n        while( true ) {\n          dVar25 = read_leb128((uchar *)local_88,&bytes_read,0,(uchar *)local_80);\n          uVar17 = bytes_read;\n          if (local_8c != (int *)0xffffffff) break;\n          local_88 = local_64;\n          local_8c = (int *)0x0;\n          local_6c = dVar25;\n        }\n        if (dVar25 == 0) goto LAB_00058b8d;\n        if (-1 < (int)local_8c) {\n          if (local_8c == (int *)0x0) {\n            puVar13 = &DAT_0007c3bc;\n            if ((int)local_6c != 0 || local_6c._4_4_ != 0) goto LAB_00058d60;\n          }\n          else {\nLAB_00058d60:\n            puVar13 = &DAT_0007bc58;\n          }\n          printf("%s<%lu>",puVar13,(int)dVar25);\n        }\n        if (pdVar1 <= local_74) goto LAB_00058b50;\n        dVar26 = *local_74;\n        pdVar12 = local_74;\n        while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058b50;\n          dVar26 = *pdVar12;\n        }\n        puVar20 = *(uchar **)(pdVar12 + 1);\n        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n        if (-1 < (int)local_8c) {\n          pcVar7 = get_TAG_name((ulong)dVar25);\n          printf(" %s",pcVar7);\n        }\n        local_88 = (int *)((int)local_88 + uVar17);\n        while( true ) {\n          dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          if (dVar25 == 0 && dVar26 == 0) break;\n          if (-1 < (int)local_8c) {\n            pcVar7 = get_DW_IDX_name((uint)dVar25);\n            if (pcVar7 == (char *)0x0) {\n              pcVar7 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n              snprintf(buffer_10366,100,pcVar7,(uint)dVar25);\n              pcVar7 = buffer_10366;\n            }\n            printf(" %s",pcVar7);\n          }\n          local_88 = (int *)read_and_display_attr_value\n                                      (0,(ulong)dVar26,0,(uchar *)local_88,(uchar *)local_80,0,0,\n                                       (ulonglong)local_7c,5,(debug_info *)0x0,\n                                       (uint)local_8c >> 0x1f,(dwarf_section *)0x0,(cu_tu_set *)0x0,\n                                       '=');\n        }\n        local_8c = (int *)((int)local_8c + 1);\n      } while( true );\n    }\nLAB_00058bc3:\n    free(local_74);\n    piVar2 = local_80;\n  }" { (if_statement "if (piVar21 <= piVar2) {\n      return 1;\n    }" if (parenthesized_expression "(piVar21 <= piVar2)" ( (binary_expression "piVar21 <= piVar2" identifier <= identifier) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "piVar11 = piVar2 + 1;" (assignment_expression "piVar11 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) (expression_statement "piVar10 = piVar11;" (assignment_expression "piVar10 = piVar11" identifier = identifier) ;) (if_statement "if (piVar11 < piVar21) {\n      pFVar5 = (FILE *)0x4;\nLAB_00058065:\n      local_94 = (*byte_get)((uchar *)piVar2,(int)pFVar5);\n      local_7c = 4;\n      in_stack_ffffff58 = (char *)pFVar5;\n      if (local_94 == 0xffffffff) {\n        piVar10 = piVar2 + 3;\n        if (piVar10 < piVar21) {\n          in_stack_ffffff58 = (char *)0x8;\n        }\n        else if ((piVar21 <= piVar11) ||\n                (in_stack_ffffff58 = (char *)((int)piVar21 - (int)piVar11),\n                (char *)0x7 < ((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27)) {\n          local_7c = 8;\n          in_stack_ffffff58 = (char *)pFVar5;\n          goto LAB_00057fac;\n        }\n        local_94 = (*byte_get)((uchar *)piVar11,(int)in_stack_ffffff58);\n        local_7c = 8;\n      }\n      local_80 = (int *)((int)piVar10 + (uint)local_94);\n      uVar14 = (int)piVar10 - (int)section->start;\n      uVar6 = uVar14 + (uint)local_94;\n      uVar16 = local_94._4_4_ + (uint)CARRY4(uVar14,(uint)local_94);\n      uVar17 = (uint)local_94;\n      if (uVar16 < (uVar6 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      pFVar5 = (FILE *)((int)piVar21 - (int)piVar2);\n      if (pFVar5[-1]._unused2 + 0x27 < (char *)0x8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      uVar16 = 0;\n      local_94 = 0;\n      uVar6 = (int)piVar10 - (int)section->start;\n      uVar17 = 0;\n      local_80 = piVar10;\n    }" if (parenthesized_expression "(piVar11 < piVar21)" ( (binary_expression "piVar11 < piVar21" identifier < identifier) )) (compound_statement "{\n      pFVar5 = (FILE *)0x4;\nLAB_00058065:\n      local_94 = (*byte_get)((uchar *)piVar2,(int)pFVar5);\n      local_7c = 4;\n      in_stack_ffffff58 = (char *)pFVar5;\n      if (local_94 == 0xffffffff) {\n        piVar10 = piVar2 + 3;\n        if (piVar10 < piVar21) {\n          in_stack_ffffff58 = (char *)0x8;\n        }\n        else if ((piVar21 <= piVar11) ||\n                (in_stack_ffffff58 = (char *)((int)piVar21 - (int)piVar11),\n                (char *)0x7 < ((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27)) {\n          local_7c = 8;\n          in_stack_ffffff58 = (char *)pFVar5;\n          goto LAB_00057fac;\n        }\n        local_94 = (*byte_get)((uchar *)piVar11,(int)in_stack_ffffff58);\n        local_7c = 8;\n      }\n      local_80 = (int *)((int)piVar10 + (uint)local_94);\n      uVar14 = (int)piVar10 - (int)section->start;\n      uVar6 = uVar14 + (uint)local_94;\n      uVar16 = local_94._4_4_ + (uint)CARRY4(uVar14,(uint)local_94);\n      uVar17 = (uint)local_94;\n      if (uVar16 < (uVar6 < uVar14)) goto LAB_000580cc;\n    }" { (expression_statement "pFVar5 = (FILE *)0x4;" (assignment_expression "pFVar5 = (FILE *)0x4" identifier = (cast_expression "(FILE *)0x4" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00058065:\n      local_94 = (*byte_get)((uchar *)piVar2,(int)pFVar5);" statement_identifier : (expression_statement "local_94 = (*byte_get)((uchar *)piVar2,(int)pFVar5);" (assignment_expression "local_94 = (*byte_get)((uchar *)piVar2,(int)pFVar5)" identifier = (call_expression "(*byte_get)((uchar *)piVar2,(int)pFVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)piVar2,(int)pFVar5)" ( (cast_expression "(uchar *)piVar2" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)pFVar5" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) (expression_statement "local_7c = 4;" (assignment_expression "local_7c = 4" identifier = number_literal) ;) (expression_statement "in_stack_ffffff58 = (char *)pFVar5;" (assignment_expression "in_stack_ffffff58 = (char *)pFVar5" identifier = (cast_expression "(char *)pFVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_94 == 0xffffffff) {\n        piVar10 = piVar2 + 3;\n        if (piVar10 < piVar21) {\n          in_stack_ffffff58 = (char *)0x8;\n        }\n        else if ((piVar21 <= piVar11) ||\n                (in_stack_ffffff58 = (char *)((int)piVar21 - (int)piVar11),\n                (char *)0x7 < ((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27)) {\n          local_7c = 8;\n          in_stack_ffffff58 = (char *)pFVar5;\n          goto LAB_00057fac;\n        }\n        local_94 = (*byte_get)((uchar *)piVar11,(int)in_stack_ffffff58);\n        local_7c = 8;\n      }" if (parenthesized_expression "(local_94 == 0xffffffff)" ( (binary_expression "local_94 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        piVar10 = piVar2 + 3;\n        if (piVar10 < piVar21) {\n          in_stack_ffffff58 = (char *)0x8;\n        }\n        else if ((piVar21 <= piVar11) ||\n                (in_stack_ffffff58 = (char *)((int)piVar21 - (int)piVar11),\n                (char *)0x7 < ((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27)) {\n          local_7c = 8;\n          in_stack_ffffff58 = (char *)pFVar5;\n          goto LAB_00057fac;\n        }\n        local_94 = (*byte_get)((uchar *)piVar11,(int)in_stack_ffffff58);\n        local_7c = 8;\n      }" { (expression_statement "piVar10 = piVar2 + 3;" (assignment_expression "piVar10 = piVar2 + 3" identifier = (binary_expression "piVar2 + 3" identifier + number_literal)) ;) (if_statement "if (piVar10 < piVar21) {\n          in_stack_ffffff58 = (char *)0x8;\n        }\n        else if ((piVar21 <= piVar11) ||\n                (in_stack_ffffff58 = (char *)((int)piVar21 - (int)piVar11),\n                (char *)0x7 < ((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27)) {\n          local_7c = 8;\n          in_stack_ffffff58 = (char *)pFVar5;\n          goto LAB_00057fac;\n        }" if (parenthesized_expression "(piVar10 < piVar21)" ( (binary_expression "piVar10 < piVar21" identifier < identifier) )) (compound_statement "{\n          in_stack_ffffff58 = (char *)0x8;\n        }" { (expression_statement "in_stack_ffffff58 = (char *)0x8;" (assignment_expression "in_stack_ffffff58 = (char *)0x8" identifier = (cast_expression "(char *)0x8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if ((piVar21 <= piVar11) ||\n                (in_stack_ffffff58 = (char *)((int)piVar21 - (int)piVar11),\n                (char *)0x7 < ((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27)) {\n          local_7c = 8;\n          in_stack_ffffff58 = (char *)pFVar5;\n          goto LAB_00057fac;\n        }" else (if_statement "if ((piVar21 <= piVar11) ||\n                (in_stack_ffffff58 = (char *)((int)piVar21 - (int)piVar11),\n                (char *)0x7 < ((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27)) {\n          local_7c = 8;\n          in_stack_ffffff58 = (char *)pFVar5;\n          goto LAB_00057fac;\n        }" if (parenthesized_expression "((piVar21 <= piVar11) ||\n                (in_stack_ffffff58 = (char *)((int)piVar21 - (int)piVar11),\n                (char *)0x7 < ((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27))" ( (binary_expression "(piVar21 <= piVar11) ||\n                (in_stack_ffffff58 = (char *)((int)piVar21 - (int)piVar11),\n                (char *)0x7 < ((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27)" (parenthesized_expression "(piVar21 <= piVar11)" ( (binary_expression "piVar21 <= piVar11" identifier <= identifier) )) || (parenthesized_expression "(in_stack_ffffff58 = (char *)((int)piVar21 - (int)piVar11),\n                (char *)0x7 < ((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27)" ( (comma_expression "in_stack_ffffff58 = (char *)((int)piVar21 - (int)piVar11),\n                (char *)0x7 < ((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27" (assignment_expression "in_stack_ffffff58 = (char *)((int)piVar21 - (int)piVar11)" identifier = (cast_expression "(char *)((int)piVar21 - (int)piVar11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar21 - (int)piVar11)" ( (binary_expression "(int)piVar21 - (int)piVar11" (cast_expression "(int)piVar21" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )))) , (binary_expression "(char *)0x7 < ((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27" (cast_expression "(char *)0x7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27" (field_expression "((FILE *)((int)in_stack_ffffff58 + -0x94))->_unused2" (parenthesized_expression "((FILE *)((int)in_stack_ffffff58 + -0x94))" ( (cast_expression "(FILE *)((int)in_stack_ffffff58 + -0x94)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)in_stack_ffffff58 + -0x94)" ( (binary_expression "(int)in_stack_ffffff58 + -0x94" (cast_expression "(int)in_stack_ffffff58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_identifier) + number_literal))) ))) )) (compound_statement "{\n          local_7c = 8;\n          in_stack_ffffff58 = (char *)pFVar5;\n          goto LAB_00057fac;\n        }" { (expression_statement "local_7c = 8;" (assignment_expression "local_7c = 8" identifier = number_literal) ;) (expression_statement "in_stack_ffffff58 = (char *)pFVar5;" (assignment_expression "in_stack_ffffff58 = (char *)pFVar5" identifier = (cast_expression "(char *)pFVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_00057fac;" goto statement_identifier ;) })))) (expression_statement "local_94 = (*byte_get)((uchar *)piVar11,(int)in_stack_ffffff58);" (assignment_expression "local_94 = (*byte_get)((uchar *)piVar11,(int)in_stack_ffffff58)" identifier = (call_expression "(*byte_get)((uchar *)piVar11,(int)in_stack_ffffff58)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)piVar11,(int)in_stack_ffffff58)" ( (cast_expression "(uchar *)piVar11" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)in_stack_ffffff58" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "local_7c = 8;" (assignment_expression "local_7c = 8" identifier = number_literal) ;) })) (expression_statement "local_80 = (int *)((int)piVar10 + (uint)local_94);" (assignment_expression "local_80 = (int *)((int)piVar10 + (uint)local_94)" identifier = (cast_expression "(int *)((int)piVar10 + (uint)local_94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + (uint)local_94)" ( (binary_expression "(int)piVar10 + (uint)local_94" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)local_94" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "uVar14 = (int)piVar10 - (int)section->start;" (assignment_expression "uVar14 = (int)piVar10 - (int)section->start" identifier = (binary_expression "(int)piVar10 - (int)section->start" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)section->start" ( (type_descriptor "int" primitive_type) ) (field_expression "section->start" identifier -> field_identifier)))) ;) (expression_statement "uVar6 = uVar14 + (uint)local_94;" (assignment_expression "uVar6 = uVar14 + (uint)local_94" identifier = (binary_expression "uVar14 + (uint)local_94" identifier + (cast_expression "(uint)local_94" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar16 = local_94._4_4_ + (uint)CARRY4(uVar14,(uint)local_94);" (assignment_expression "uVar16 = local_94._4_4_ + (uint)CARRY4(uVar14,(uint)local_94)" identifier = (binary_expression "local_94._4_4_ + (uint)CARRY4(uVar14,(uint)local_94)" (field_expression "local_94._4_4_" identifier . field_identifier) + (cast_expression "(uint)CARRY4(uVar14,(uint)local_94)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar14,(uint)local_94)" identifier (argument_list "(uVar14,(uint)local_94)" ( identifier , (cast_expression "(uint)local_94" ( (type_descriptor "uint" type_identifier) ) identifier) )))))) ;) (expression_statement "uVar17 = (uint)local_94;" (assignment_expression "uVar17 = (uint)local_94" identifier = (cast_expression "(uint)local_94" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar16 < (uVar6 < uVar14)) goto LAB_000580cc;" if (parenthesized_expression "(uVar16 < (uVar6 < uVar14))" ( (binary_expression "uVar16 < (uVar6 < uVar14)" identifier < (parenthesized_expression "(uVar6 < uVar14)" ( (binary_expression "uVar6 < uVar14" identifier < identifier) ))) )) (goto_statement "goto LAB_000580cc;" goto statement_identifier ;)) }) (else_clause "else {\n      pFVar5 = (FILE *)((int)piVar21 - (int)piVar2);\n      if (pFVar5[-1]._unused2 + 0x27 < (char *)0x8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      uVar16 = 0;\n      local_94 = 0;\n      uVar6 = (int)piVar10 - (int)section->start;\n      uVar17 = 0;\n      local_80 = piVar10;\n    }" else (compound_statement "{\n      pFVar5 = (FILE *)((int)piVar21 - (int)piVar2);\n      if (pFVar5[-1]._unused2 + 0x27 < (char *)0x8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      uVar16 = 0;\n      local_94 = 0;\n      uVar6 = (int)piVar10 - (int)section->start;\n      uVar17 = 0;\n      local_80 = piVar10;\n    }" { (expression_statement "pFVar5 = (FILE *)((int)piVar21 - (int)piVar2);" (assignment_expression "pFVar5 = (FILE *)((int)piVar21 - (int)piVar2)" identifier = (cast_expression "(FILE *)((int)piVar21 - (int)piVar2)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar21 - (int)piVar2)" ( (binary_expression "(int)piVar21 - (int)piVar2" (cast_expression "(int)piVar21" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (pFVar5[-1]._unused2 + 0x27 < (char *)0x8) goto LAB_00058065;" if (parenthesized_expression "(pFVar5[-1]._unused2 + 0x27 < (char *)0x8)" ( (binary_expression "pFVar5[-1]._unused2 + 0x27 < (char *)0x8" (binary_expression "pFVar5[-1]._unused2 + 0x27" (field_expression "pFVar5[-1]._unused2" (subscript_expression "pFVar5[-1]" identifier [ number_literal ]) . field_identifier) + number_literal) < (cast_expression "(char *)0x8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00058065;" goto statement_identifier ;)) (expression_statement "local_7c = 4;" (assignment_expression "local_7c = 4" identifier = number_literal) ;) (labeled_statement "LAB_00057fac:\n      uVar16 = 0;" statement_identifier : (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;)) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "uVar6 = (int)piVar10 - (int)section->start;" (assignment_expression "uVar6 = (int)piVar10 - (int)section->start" identifier = (binary_expression "(int)piVar10 - (int)section->start" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)section->start" ( (type_descriptor "int" primitive_type) ) (field_expression "section->start" identifier -> field_identifier)))) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "local_80 = piVar10;" (assignment_expression "local_80 = piVar10" identifier = identifier) ;) }))) (expression_statement "uVar14 = *(uint *)((int)&section->size + 4);" (assignment_expression "uVar14 = *(uint *)((int)&section->size + 4)" identifier = (pointer_expression "*(uint *)((int)&section->size + 4)" * (cast_expression "(uint *)((int)&section->size + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&section->size + 4)" ( (binary_expression "(int)&section->size + 4" (cast_expression "(int)&section->size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&section->size" & (field_expression "section->size" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if (uVar14 < uVar16 || uVar14 - uVar16 < (uint)((uint)section->size < uVar6)) {\nLAB_000580cc:\n      pcVar8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_ffffff58) << 0x20,(uint)local_94);\n      puVar20 = section->start;\n      pcVar7 = section->name;\n      message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(message,pcVar7,(int)piVar2 - (int)puVar20,pcVar8);\n      return 0;\n    }" if (parenthesized_expression "(uVar14 < uVar16 || uVar14 - uVar16 < (uint)((uint)section->size < uVar6))" ( (binary_expression "uVar14 < uVar16 || uVar14 - uVar16 < (uint)((uint)section->size < uVar6)" (binary_expression "uVar14 < uVar16" identifier < identifier) || (binary_expression "uVar14 - uVar16 < (uint)((uint)section->size < uVar6)" (binary_expression "uVar14 - uVar16" identifier - identifier) < (call_expression "(uint)((uint)section->size < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)section->size < uVar6)" ( (binary_expression "(uint)section->size < uVar6" (cast_expression "(uint)section->size" ( (type_descriptor "uint" type_identifier) ) (field_expression "section->size" identifier -> field_identifier)) < identifier) ))))) )) (compound_statement "{\nLAB_000580cc:\n      pcVar8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_ffffff58) << 0x20,(uint)local_94);\n      puVar20 = section->start;\n      pcVar7 = section->name;\n      message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(message,pcVar7,(int)piVar2 - (int)puVar20,pcVar8);\n      return 0;\n    }" { (labeled_statement "LAB_000580cc:\n      pcVar8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_ffffff58) << 0x20,(uint)local_94);" statement_identifier : (expression_statement "pcVar8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_ffffff58) << 0x20,(uint)local_94);" (assignment_expression "pcVar8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_ffffff58) << 0x20,(uint)local_94)" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(in_stack_ffffff58) << 0x20,(uint)local_94)" identifier (argument_list "("x",ZEXT48(in_stack_ffffff58) << 0x20,(uint)local_94)" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(in_stack_ffffff58) << 0x20" (call_expression "ZEXT48(in_stack_ffffff58)" identifier (argument_list "(in_stack_ffffff58)" ( identifier ))) << number_literal) , (cast_expression "(uint)local_94" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;)) (expression_statement "puVar20 = section->start;" (assignment_expression "puVar20 = section->start" identifier = (field_expression "section->start" identifier -> field_identifier)) ;) (expression_statement "pcVar7 = section->name;" (assignment_expression "pcVar7 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (expression_statement "message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);" (assignment_expression "message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" identifier (argument_list "(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" ( number_literal , (string_literal ""Debug info is corrupted, %s header at %#lx has length %s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(message,pcVar7,(int)piVar2 - (int)puVar20,pcVar8);" (call_expression "warn(message,pcVar7,(int)piVar2 - (int)puVar20,pcVar8)" identifier (argument_list "(message,pcVar7,(int)piVar2 - (int)puVar20,pcVar8)" ( identifier , identifier , (binary_expression "(int)piVar2 - (int)puVar20" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "piVar11 = (int *)((int)piVar10 + 2);" (assignment_expression "piVar11 = (int *)((int)piVar10 + 2)" identifier = (cast_expression "(int *)((int)piVar10 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + 2)" ( (binary_expression "(int)piVar10 + 2" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (piVar11 < local_80) {\n      uVar17 = 2;\n    }\n    else if ((local_80 <= piVar10) || (7 < uVar17 - 1)) {\n      pcVar7 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar7,0);\n      goto LAB_00058029;\n    }" if (parenthesized_expression "(piVar11 < local_80)" ( (binary_expression "piVar11 < local_80" identifier < identifier) )) (compound_statement "{\n      uVar17 = 2;\n    }" { (expression_statement "uVar17 = 2;" (assignment_expression "uVar17 = 2" identifier = number_literal) ;) }) (else_clause "else if ((local_80 <= piVar10) || (7 < uVar17 - 1)) {\n      pcVar7 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar7,0);\n      goto LAB_00058029;\n    }" else (if_statement "if ((local_80 <= piVar10) || (7 < uVar17 - 1)) {\n      pcVar7 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar7,0);\n      goto LAB_00058029;\n    }" if (parenthesized_expression "((local_80 <= piVar10) || (7 < uVar17 - 1))" ( (binary_expression "(local_80 <= piVar10) || (7 < uVar17 - 1)" (parenthesized_expression "(local_80 <= piVar10)" ( (binary_expression "local_80 <= piVar10" identifier <= identifier) )) || (parenthesized_expression "(7 < uVar17 - 1)" ( (binary_expression "7 < uVar17 - 1" number_literal < (binary_expression "uVar17 - 1" identifier - number_literal)) ))) )) (compound_statement "{\n      pcVar7 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar7,0);\n      goto LAB_00058029;\n    }" { (expression_statement "pcVar7 = (char *)dcgettext(0,"Version %ld\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Version %ld\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Version %ld\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Version %ld\n",5)" identifier (argument_list "(0,"Version %ld\n",5)" ( number_literal , (string_literal ""Version %ld\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7,0);" (call_expression "printf(pcVar7,0)" identifier (argument_list "(pcVar7,0)" ( identifier , number_literal ))) ;) (goto_statement "goto LAB_00058029;" goto statement_identifier ;) })))) (expression_statement "eVar24 = (*byte_get)((uchar *)piVar10,uVar17);" (assignment_expression "eVar24 = (*byte_get)((uchar *)piVar10,uVar17)" identifier = (call_expression "(*byte_get)((uchar *)piVar10,uVar17)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)piVar10,uVar17)" ( (cast_expression "(uchar *)piVar10" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,"Version %ld\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Version %ld\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Version %ld\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Version %ld\n",5)" identifier (argument_list "(0,"Version %ld\n",5)" ( number_literal , (string_literal ""Version %ld\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7,(uint)eVar24 & 0xffff);" (call_expression "printf(pcVar7,(uint)eVar24 & 0xffff)" identifier (argument_list "(pcVar7,(uint)eVar24 & 0xffff)" ( identifier , (binary_expression "(uint)eVar24 & 0xffff" (cast_expression "(uint)eVar24" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) ;) (if_statement "if ((short)eVar24 != 5) {\nLAB_00058029:\n      pcVar7 = (char *)dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(pcVar7);\n      return 0;\n    }" if (parenthesized_expression "((short)eVar24 != 5)" ( (binary_expression "(short)eVar24 != 5" (cast_expression "(short)eVar24" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) != number_literal) )) (compound_statement "{\nLAB_00058029:\n      pcVar7 = (char *)dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(pcVar7);\n      return 0;\n    }" { (labeled_statement "LAB_00058029:\n      pcVar7 = (char *)dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);" statement_identifier : (expression_statement "pcVar7 = (char *)dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5)" identifier (argument_list "(0,"Only DWARF version 5 .debug_names is currently supported.\n",5)" ( number_literal , (string_literal ""Only DWARF version 5 .debug_names is currently supported.\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "warn(pcVar7);" (call_expression "warn(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "piVar19 = piVar10 + 1;" (assignment_expression "piVar19 = piVar10 + 1" identifier = (binary_expression "piVar10 + 1" identifier + number_literal)) ;) (if_statement "if (piVar19 < local_80) {\n      iVar9 = 2;\nLAB_00058e95:\n      eVar24 = (*byte_get)((uchar *)piVar11,iVar9);\n      if ((short)eVar24 != 0) {\n        pcVar7 = (char *)dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(pcVar7,(uint)eVar24 & 0xffff);\n      }\n      if (piVar10 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar19) || (iVar9 = (int)local_80 - (int)piVar19, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      eVar24 = (*byte_get)((uchar *)piVar19,iVar9);\n      local_88 = (int *)eVar24;\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar11 < local_80) && ((uint)local_94 - 3 < 8)) {\n        iVar9 = (uint)local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar10 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      pcVar7 = (char *)dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(pcVar7);\n      local_88 = (int *)0x0;\n    }" if (parenthesized_expression "(piVar19 < local_80)" ( (binary_expression "piVar19 < local_80" identifier < identifier) )) (compound_statement "{\n      iVar9 = 2;\nLAB_00058e95:\n      eVar24 = (*byte_get)((uchar *)piVar11,iVar9);\n      if ((short)eVar24 != 0) {\n        pcVar7 = (char *)dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(pcVar7,(uint)eVar24 & 0xffff);\n      }\n      if (piVar10 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar19) || (iVar9 = (int)local_80 - (int)piVar19, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      eVar24 = (*byte_get)((uchar *)piVar19,iVar9);\n      local_88 = (int *)eVar24;\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }" { (expression_statement "iVar9 = 2;" (assignment_expression "iVar9 = 2" identifier = number_literal) ;) (labeled_statement "LAB_00058e95:\n      eVar24 = (*byte_get)((uchar *)piVar11,iVar9);" statement_identifier : (expression_statement "eVar24 = (*byte_get)((uchar *)piVar11,iVar9);" (assignment_expression "eVar24 = (*byte_get)((uchar *)piVar11,iVar9)" identifier = (call_expression "(*byte_get)((uchar *)piVar11,iVar9)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)piVar11,iVar9)" ( (cast_expression "(uchar *)piVar11" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;)) (if_statement "if ((short)eVar24 != 0) {\n        pcVar7 = (char *)dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(pcVar7,(uint)eVar24 & 0xffff);\n      }" if (parenthesized_expression "((short)eVar24 != 0)" ( (binary_expression "(short)eVar24 != 0" (cast_expression "(short)eVar24" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) != number_literal) )) (compound_statement "{\n        pcVar7 = (char *)dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(pcVar7,(uint)eVar24 & 0xffff);\n      }" { (expression_statement "pcVar7 = (char *)dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5)" identifier (argument_list "(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5)" ( number_literal , (string_literal ""Padding field of .debug_names must be 0 (found 0x%x)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar7,(uint)eVar24 & 0xffff);" (call_expression "warn(pcVar7,(uint)eVar24 & 0xffff)" identifier (argument_list "(pcVar7,(uint)eVar24 & 0xffff)" ( identifier , (binary_expression "(uint)eVar24 & 0xffff" (cast_expression "(uint)eVar24" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) ;) })) (if_statement "if (piVar10 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar19) || (iVar9 = (int)local_80 - (int)piVar19, 7 < iVar9 - 1U))\n      goto LAB_000581d8;" if (parenthesized_expression "(piVar10 + 2 < local_80)" ( (binary_expression "piVar10 + 2 < local_80" (binary_expression "piVar10 + 2" identifier + number_literal) < identifier) )) (compound_statement "{\nLAB_000581ba:\n        iVar9 = 4;\n      }" { (labeled_statement "LAB_000581ba:\n        iVar9 = 4;" statement_identifier : (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;)) }) (else_clause "else if ((local_80 <= piVar19) || (iVar9 = (int)local_80 - (int)piVar19, 7 < iVar9 - 1U))\n      goto LAB_000581d8;" else (if_statement "if ((local_80 <= piVar19) || (iVar9 = (int)local_80 - (int)piVar19, 7 < iVar9 - 1U))\n      goto LAB_000581d8;" if (parenthesized_expression "((local_80 <= piVar19) || (iVar9 = (int)local_80 - (int)piVar19, 7 < iVar9 - 1U))" ( (binary_expression "(local_80 <= piVar19) || (iVar9 = (int)local_80 - (int)piVar19, 7 < iVar9 - 1U)" (parenthesized_expression "(local_80 <= piVar19)" ( (binary_expression "local_80 <= piVar19" identifier <= identifier) )) || (parenthesized_expression "(iVar9 = (int)local_80 - (int)piVar19, 7 < iVar9 - 1U)" ( (comma_expression "iVar9 = (int)local_80 - (int)piVar19, 7 < iVar9 - 1U" (assignment_expression "iVar9 = (int)local_80 - (int)piVar19" identifier = (binary_expression "(int)local_80 - (int)piVar19" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar9 - 1U" number_literal < (binary_expression "iVar9 - 1U" identifier - number_literal))) ))) )) (goto_statement "goto LAB_000581d8;" goto statement_identifier ;)))) (expression_statement "eVar24 = (*byte_get)((uchar *)piVar19,iVar9);" (assignment_expression "eVar24 = (*byte_get)((uchar *)piVar19,iVar9)" identifier = (call_expression "(*byte_get)((uchar *)piVar19,iVar9)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)piVar19,iVar9)" ( (cast_expression "(uchar *)piVar19" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "local_88 = (int *)eVar24;" (assignment_expression "local_88 = (int *)eVar24" identifier = (cast_expression "(int *)eVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_88 == (int *)0x0) goto LAB_000581d8;" if (parenthesized_expression "(local_88 == (int *)0x0)" ( (binary_expression "local_88 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000581d8;" goto statement_identifier ;)) }) (else_clause "else {\n      if ((piVar11 < local_80) && ((uint)local_94 - 3 < 8)) {\n        iVar9 = (uint)local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar10 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      pcVar7 = (char *)dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(pcVar7);\n      local_88 = (int *)0x0;\n    }" else (compound_statement "{\n      if ((piVar11 < local_80) && ((uint)local_94 - 3 < 8)) {\n        iVar9 = (uint)local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar10 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      pcVar7 = (char *)dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(pcVar7);\n      local_88 = (int *)0x0;\n    }" { (if_statement "if ((piVar11 < local_80) && ((uint)local_94 - 3 < 8)) {\n        iVar9 = (uint)local_94 + -2;\n        goto LAB_00058e95;\n      }" if (parenthesized_expression "((piVar11 < local_80) && ((uint)local_94 - 3 < 8))" ( (binary_expression "(piVar11 < local_80) && ((uint)local_94 - 3 < 8)" (parenthesized_expression "(piVar11 < local_80)" ( (binary_expression "piVar11 < local_80" identifier < identifier) )) && (parenthesized_expression "((uint)local_94 - 3 < 8)" ( (binary_expression "(uint)local_94 - 3 < 8" (binary_expression "(uint)local_94 - 3" (cast_expression "(uint)local_94" ( (type_descriptor "uint" type_identifier) ) identifier) - number_literal) < number_literal) ))) )) (compound_statement "{\n        iVar9 = (uint)local_94 + -2;\n        goto LAB_00058e95;\n      }" { (expression_statement "iVar9 = (uint)local_94 + -2;" (assignment_expression "iVar9 = (uint)local_94 + -2" identifier = (binary_expression "(uint)local_94 + -2" (cast_expression "(uint)local_94" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal)) ;) (goto_statement "goto LAB_00058e95;" goto statement_identifier ;) })) (if_statement "if (piVar10 + 2 < local_80) goto LAB_000581ba;" if (parenthesized_expression "(piVar10 + 2 < local_80)" ( (binary_expression "piVar10 + 2 < local_80" (binary_expression "piVar10 + 2" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_000581ba;" goto statement_identifier ;)) (labeled_statement "LAB_000581d8:\n      pcVar7 = (char *)dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);" statement_identifier : (expression_statement "pcVar7 = (char *)dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5)" identifier (argument_list "(0,"Compilation unit count must be >= 1 in .debug_names\n",5)" ( number_literal , (string_literal ""Compilation unit count must be >= 1 in .debug_names\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "warn(pcVar7);" (call_expression "warn(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (expression_statement "local_88 = (int *)0x0;" (assignment_expression "local_88 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "piVar19 = piVar10 + 2;" (assignment_expression "piVar19 = piVar10 + 2" identifier = (binary_expression "piVar10 + 2" identifier + number_literal)) ;) (expression_statement "piVar11 = piVar10 + 3;" (assignment_expression "piVar11 = piVar10 + 3" identifier = (binary_expression "piVar10 + 3" identifier + number_literal)) ;) (if_statement "if (piVar11 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      eVar24 = (*byte_get)((uchar *)piVar19,iVar9);\n      local_78 = (int)eVar24;\n      if (piVar10 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar11) || (iVar9 = (int)local_80 - (int)piVar11, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      eVar24 = (*byte_get)((uchar *)piVar11,iVar9);\n      local_74 = (dwarf_vma *)eVar24;\n      if (piVar10 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar10 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar10 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar11 = piVar10 + 6;\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 5),iVar9);\n      local_44 = (int)eVar24;\n      local_60 = local_44 * 4;\n      local_6c._4_4_ = local_44 * local_7c;\n      if (piVar10 + 7 < local_80) goto LAB_00058df0;\n      if ((local_80 <= piVar11) || (7 < ((int)local_80 - (int)piVar11) - 1U)) {\nLAB_00058291:\n        if (piVar10 + 8 < local_80) {\n          local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n        goto LAB_0005838d;\n      }\n      eVar24 = (*byte_get)((uchar *)piVar11,(int)local_80 - (int)piVar11);\n      local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);\n      if (local_80 <= piVar10 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar10 + 8;\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 7),iVar9);\n      iVar9 = (int)eVar24;\n      if ((eVar24 & 3) != 0) {\n        pcVar7 = (char *)dcgettext(0,\n                                   "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                                   ,5);\n        warn(pcVar7,iVar9);\n        iVar9 = iVar9 + (-iVar9 & 3U);\n      }\n      pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar7);\n      if (iVar9 != 0) {\n        piVar11 = (int *)((int)local_8c + iVar9);\n        piVar10 = local_8c;\n        do {\n          piVar19 = (int *)((int)piVar10 + 1);\n          if (piVar19 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            eVar24 = (*byte_get)((uchar *)piVar10,iVar9);\n            uVar17 = (uint)eVar24 & 0xff;\n          }\n          else {\n            uVar17 = 0;\n            if ((piVar10 < local_80) && (iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar17);\n          piVar10 = piVar19;\n          local_8c = piVar11;\n        } while (piVar19 != piVar11);\n      }\n    }\n    else {\n      if ((piVar19 < local_80) && (iVar9 = (int)local_80 - (int)piVar19, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar10 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (dwarf_vma *)0x0;\n      if (local_80 <= piVar10 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 4),iVar9);\n      local_70 = (uint)eVar24;\n      local_64 = (int *)(local_70 << 2);\n      if (piVar10 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar10 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_6c._4_4_ = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar10 + 7) goto LAB_00058291;\nLAB_00058df0:\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 6),4);\n      local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);\n      if (piVar10 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar10 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar10 + 8;\n      pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar7);\n    }" if (parenthesized_expression "(piVar11 < local_80)" ( (binary_expression "piVar11 < local_80" identifier < identifier) )) (compound_statement "{\n      iVar9 = 4;\nLAB_00058ee1:\n      eVar24 = (*byte_get)((uchar *)piVar19,iVar9);\n      local_78 = (int)eVar24;\n      if (piVar10 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar11) || (iVar9 = (int)local_80 - (int)piVar11, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      eVar24 = (*byte_get)((uchar *)piVar11,iVar9);\n      local_74 = (dwarf_vma *)eVar24;\n      if (piVar10 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar10 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar10 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar11 = piVar10 + 6;\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 5),iVar9);\n      local_44 = (int)eVar24;\n      local_60 = local_44 * 4;\n      local_6c._4_4_ = local_44 * local_7c;\n      if (piVar10 + 7 < local_80) goto LAB_00058df0;\n      if ((local_80 <= piVar11) || (7 < ((int)local_80 - (int)piVar11) - 1U)) {\nLAB_00058291:\n        if (piVar10 + 8 < local_80) {\n          local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n        goto LAB_0005838d;\n      }\n      eVar24 = (*byte_get)((uchar *)piVar11,(int)local_80 - (int)piVar11);\n      local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);\n      if (local_80 <= piVar10 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar10 + 8;\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 7),iVar9);\n      iVar9 = (int)eVar24;\n      if ((eVar24 & 3) != 0) {\n        pcVar7 = (char *)dcgettext(0,\n                                   "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                                   ,5);\n        warn(pcVar7,iVar9);\n        iVar9 = iVar9 + (-iVar9 & 3U);\n      }\n      pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar7);\n      if (iVar9 != 0) {\n        piVar11 = (int *)((int)local_8c + iVar9);\n        piVar10 = local_8c;\n        do {\n          piVar19 = (int *)((int)piVar10 + 1);\n          if (piVar19 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            eVar24 = (*byte_get)((uchar *)piVar10,iVar9);\n            uVar17 = (uint)eVar24 & 0xff;\n          }\n          else {\n            uVar17 = 0;\n            if ((piVar10 < local_80) && (iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar17);\n          piVar10 = piVar19;\n          local_8c = piVar11;\n        } while (piVar19 != piVar11);\n      }\n    }" { (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00058ee1:\n      eVar24 = (*byte_get)((uchar *)piVar19,iVar9);" statement_identifier : (expression_statement "eVar24 = (*byte_get)((uchar *)piVar19,iVar9);" (assignment_expression "eVar24 = (*byte_get)((uchar *)piVar19,iVar9)" identifier = (call_expression "(*byte_get)((uchar *)piVar19,iVar9)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)piVar19,iVar9)" ( (cast_expression "(uchar *)piVar19" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;)) (expression_statement "local_78 = (int)eVar24;" (assignment_expression "local_78 = (int)eVar24" identifier = (cast_expression "(int)eVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (piVar10 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar11) || (iVar9 = (int)local_80 - (int)piVar11, 7 < iVar9 - 1U))\n      goto LAB_0005823a;" if (parenthesized_expression "(piVar10 + 4 < local_80)" ( (binary_expression "piVar10 + 4 < local_80" (binary_expression "piVar10 + 4" identifier + number_literal) < identifier) )) (compound_statement "{\nLAB_00058f20:\n        iVar9 = 4;\n      }" { (labeled_statement "LAB_00058f20:\n        iVar9 = 4;" statement_identifier : (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;)) }) (else_clause "else if ((local_80 <= piVar11) || (iVar9 = (int)local_80 - (int)piVar11, 7 < iVar9 - 1U))\n      goto LAB_0005823a;" else (if_statement "if ((local_80 <= piVar11) || (iVar9 = (int)local_80 - (int)piVar11, 7 < iVar9 - 1U))\n      goto LAB_0005823a;" if (parenthesized_expression "((local_80 <= piVar11) || (iVar9 = (int)local_80 - (int)piVar11, 7 < iVar9 - 1U))" ( (binary_expression "(local_80 <= piVar11) || (iVar9 = (int)local_80 - (int)piVar11, 7 < iVar9 - 1U)" (parenthesized_expression "(local_80 <= piVar11)" ( (binary_expression "local_80 <= piVar11" identifier <= identifier) )) || (parenthesized_expression "(iVar9 = (int)local_80 - (int)piVar11, 7 < iVar9 - 1U)" ( (comma_expression "iVar9 = (int)local_80 - (int)piVar11, 7 < iVar9 - 1U" (assignment_expression "iVar9 = (int)local_80 - (int)piVar11" identifier = (binary_expression "(int)local_80 - (int)piVar11" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar9 - 1U" number_literal < (binary_expression "iVar9 - 1U" identifier - number_literal))) ))) )) (goto_statement "goto LAB_0005823a;" goto statement_identifier ;)))) (expression_statement "eVar24 = (*byte_get)((uchar *)piVar11,iVar9);" (assignment_expression "eVar24 = (*byte_get)((uchar *)piVar11,iVar9)" identifier = (call_expression "(*byte_get)((uchar *)piVar11,iVar9)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)piVar11,iVar9)" ( (cast_expression "(uchar *)piVar11" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "local_74 = (dwarf_vma *)eVar24;" (assignment_expression "local_74 = (dwarf_vma *)eVar24" identifier = (cast_expression "(dwarf_vma *)eVar24" ( (type_descriptor "dwarf_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (piVar10 + 5 < local_80) goto LAB_00058f60;" if (parenthesized_expression "(piVar10 + 5 < local_80)" ( (binary_expression "piVar10 + 5 < local_80" (binary_expression "piVar10 + 5" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00058f60;" goto statement_identifier ;)) (if_statement "if ((piVar10 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;" if (parenthesized_expression "((piVar10 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 4), iVar9 - 1U < 8))" ( (binary_expression "(piVar10 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 4), iVar9 - 1U < 8)" (parenthesized_expression "(piVar10 + 4 < local_80)" ( (binary_expression "piVar10 + 4 < local_80" (binary_expression "piVar10 + 4" identifier + number_literal) < identifier) )) && (parenthesized_expression "(iVar9 = (int)local_80 - (int)(piVar10 + 4), iVar9 - 1U < 8)" ( (comma_expression "iVar9 = (int)local_80 - (int)(piVar10 + 4), iVar9 - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)(piVar10 + 4)" identifier = (binary_expression "(int)local_80 - (int)(piVar10 + 4)" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(piVar10 + 4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar10 + 4)" ( (binary_expression "piVar10 + 4" identifier + number_literal) ))))) , (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00058f65;" goto statement_identifier ;)) (labeled_statement "LAB_0005824f:\n      local_64 = (int *)0x0;" statement_identifier : (expression_statement "local_64 = (int *)0x0;" (assignment_expression "local_64 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (if_statement "if (local_80 <= piVar10 + 6) goto LAB_0005826c;" if (parenthesized_expression "(local_80 <= piVar10 + 6)" ( (binary_expression "local_80 <= piVar10 + 6" identifier <= (binary_expression "piVar10 + 6" identifier + number_literal)) )) (goto_statement "goto LAB_0005826c;" goto statement_identifier ;)) (labeled_statement "LAB_00058e1a:\n      iVar9 = 4;" statement_identifier : (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;)) (labeled_statement "LAB_00058e1f:\n      piVar11 = piVar10 + 6;" statement_identifier : (expression_statement "piVar11 = piVar10 + 6;" (assignment_expression "piVar11 = piVar10 + 6" identifier = (binary_expression "piVar10 + 6" identifier + number_literal)) ;)) (expression_statement "eVar24 = (*byte_get)((uchar *)(piVar10 + 5),iVar9);" (assignment_expression "eVar24 = (*byte_get)((uchar *)(piVar10 + 5),iVar9)" identifier = (call_expression "(*byte_get)((uchar *)(piVar10 + 5),iVar9)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)(piVar10 + 5),iVar9)" ( (cast_expression "(uchar *)(piVar10 + 5)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10 + 5)" ( (binary_expression "piVar10 + 5" identifier + number_literal) ))) , identifier )))) ;) (expression_statement "local_44 = (int)eVar24;" (assignment_expression "local_44 = (int)eVar24" identifier = (cast_expression "(int)eVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_60 = local_44 * 4;" (assignment_expression "local_60 = local_44 * 4" identifier = (binary_expression "local_44 * 4" identifier * number_literal)) ;) (expression_statement "local_6c._4_4_ = local_44 * local_7c;" (assignment_expression "local_6c._4_4_ = local_44 * local_7c" (field_expression "local_6c._4_4_" identifier . field_identifier) = (binary_expression "local_44 * local_7c" identifier * identifier)) ;) (if_statement "if (piVar10 + 7 < local_80) goto LAB_00058df0;" if (parenthesized_expression "(piVar10 + 7 < local_80)" ( (binary_expression "piVar10 + 7 < local_80" (binary_expression "piVar10 + 7" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00058df0;" goto statement_identifier ;)) (if_statement "if ((local_80 <= piVar11) || (7 < ((int)local_80 - (int)piVar11) - 1U)) {\nLAB_00058291:\n        if (piVar10 + 8 < local_80) {\n          local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n        goto LAB_0005838d;\n      }" if (parenthesized_expression "((local_80 <= piVar11) || (7 < ((int)local_80 - (int)piVar11) - 1U))" ( (binary_expression "(local_80 <= piVar11) || (7 < ((int)local_80 - (int)piVar11) - 1U)" (parenthesized_expression "(local_80 <= piVar11)" ( (binary_expression "local_80 <= piVar11" identifier <= identifier) )) || (parenthesized_expression "(7 < ((int)local_80 - (int)piVar11) - 1U)" ( (binary_expression "7 < ((int)local_80 - (int)piVar11) - 1U" number_literal < (binary_expression "((int)local_80 - (int)piVar11) - 1U" (parenthesized_expression "((int)local_80 - (int)piVar11)" ( (binary_expression "(int)local_80 - (int)piVar11" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal)) ))) )) (compound_statement "{\nLAB_00058291:\n        if (piVar10 + 8 < local_80) {\n          local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n        goto LAB_0005838d;\n      }" { (labeled_statement "LAB_00058291:\n        if (piVar10 + 8 < local_80) {\n          local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }" statement_identifier : (if_statement "if (piVar10 + 8 < local_80) {\n          local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }" if (parenthesized_expression "(piVar10 + 8 < local_80)" ( (binary_expression "piVar10 + 8 < local_80" (binary_expression "piVar10 + 8" identifier + number_literal) < identifier) )) (compound_statement "{\n          local_6c = (ulonglong)local_6c._4_4_ << 0x20;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }" { (expression_statement "local_6c = (ulonglong)local_6c._4_4_ << 0x20;" (assignment_expression "local_6c = (ulonglong)local_6c._4_4_ << 0x20" identifier = (binary_expression "(ulonglong)local_6c._4_4_ << 0x20" (cast_expression "(ulonglong)local_6c._4_4_" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "local_6c._4_4_" identifier . field_identifier)) << number_literal)) ;) (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;) (goto_statement "goto LAB_000582ab;" goto statement_identifier ;) }))) (expression_statement "local_6c = (ulonglong)local_6c._4_4_ << 0x20;" (assignment_expression "local_6c = (ulonglong)local_6c._4_4_ << 0x20" identifier = (binary_expression "(ulonglong)local_6c._4_4_ << 0x20" (cast_expression "(ulonglong)local_6c._4_4_" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "local_6c._4_4_" identifier . field_identifier)) << number_literal)) ;) (goto_statement "goto LAB_0005838d;" goto statement_identifier ;) })) (expression_statement "eVar24 = (*byte_get)((uchar *)piVar11,(int)local_80 - (int)piVar11);" (assignment_expression "eVar24 = (*byte_get)((uchar *)piVar11,(int)local_80 - (int)piVar11)" identifier = (call_expression "(*byte_get)((uchar *)piVar11,(int)local_80 - (int)piVar11)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)piVar11,(int)local_80 - (int)piVar11)" ( (cast_expression "(uchar *)piVar11" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(int)local_80 - (int)piVar11" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);" (assignment_expression "local_6c = CONCAT44(local_6c._4_4_,(int)eVar24)" identifier = (call_expression "CONCAT44(local_6c._4_4_,(int)eVar24)" identifier (argument_list "(local_6c._4_4_,(int)eVar24)" ( (field_expression "local_6c._4_4_" identifier . field_identifier) , (cast_expression "(int)eVar24" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (if_statement "if (local_80 <= piVar10 + 8) goto LAB_0005838d;" if (parenthesized_expression "(local_80 <= piVar10 + 8)" ( (binary_expression "local_80 <= piVar10 + 8" identifier <= (binary_expression "piVar10 + 8" identifier + number_literal)) )) (goto_statement "goto LAB_0005838d;" goto statement_identifier ;)) (labeled_statement "LAB_00058e10:\n      iVar9 = 4;" statement_identifier : (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;)) (labeled_statement "LAB_000582ab:\n      local_8c = piVar10 + 8;" statement_identifier : (expression_statement "local_8c = piVar10 + 8;" (assignment_expression "local_8c = piVar10 + 8" identifier = (binary_expression "piVar10 + 8" identifier + number_literal)) ;)) (expression_statement "eVar24 = (*byte_get)((uchar *)(piVar10 + 7),iVar9);" (assignment_expression "eVar24 = (*byte_get)((uchar *)(piVar10 + 7),iVar9)" identifier = (call_expression "(*byte_get)((uchar *)(piVar10 + 7),iVar9)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)(piVar10 + 7),iVar9)" ( (cast_expression "(uchar *)(piVar10 + 7)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10 + 7)" ( (binary_expression "piVar10 + 7" identifier + number_literal) ))) , identifier )))) ;) (expression_statement "iVar9 = (int)eVar24;" (assignment_expression "iVar9 = (int)eVar24" identifier = (cast_expression "(int)eVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((eVar24 & 3) != 0) {\n        pcVar7 = (char *)dcgettext(0,\n                                   "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                                   ,5);\n        warn(pcVar7,iVar9);\n        iVar9 = iVar9 + (-iVar9 & 3U);\n      }" if (parenthesized_expression "((eVar24 & 3) != 0)" ( (binary_expression "(eVar24 & 3) != 0" (parenthesized_expression "(eVar24 & 3)" ( (binary_expression "eVar24 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        pcVar7 = (char *)dcgettext(0,\n                                   "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                                   ,5);\n        warn(pcVar7,iVar9);\n        iVar9 = iVar9 + (-iVar9 & 3U);\n      }" { (expression_statement "pcVar7 = (char *)dcgettext(0,\n                                   "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                                   ,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,\n                                   "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                                   ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                   "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                                   ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                   "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                                   ,5)" identifier (argument_list "(0,\n                                   "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                                   ,5)" ( number_literal , (string_literal ""Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar7,iVar9);" (call_expression "warn(pcVar7,iVar9)" identifier (argument_list "(pcVar7,iVar9)" ( identifier , identifier ))) ;) (expression_statement "iVar9 = iVar9 + (-iVar9 & 3U);" (assignment_expression "iVar9 = iVar9 + (-iVar9 & 3U)" identifier = (binary_expression "iVar9 + (-iVar9 & 3U)" identifier + (parenthesized_expression "(-iVar9 & 3U)" ( (binary_expression "-iVar9 & 3U" (unary_expression "-iVar9" - identifier) & number_literal) )))) ;) })) (expression_statement "pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Augmentation string:",5)" identifier = (cast_expression "(char *)dcgettext(0,"Augmentation string:",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Augmentation string:",5)" identifier (argument_list "(0,"Augmentation string:",5)" ( number_literal , (string_literal ""Augmentation string:"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar7);" (call_expression "printf(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (if_statement "if (iVar9 != 0) {\n        piVar11 = (int *)((int)local_8c + iVar9);\n        piVar10 = local_8c;\n        do {\n          piVar19 = (int *)((int)piVar10 + 1);\n          if (piVar19 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            eVar24 = (*byte_get)((uchar *)piVar10,iVar9);\n            uVar17 = (uint)eVar24 & 0xff;\n          }\n          else {\n            uVar17 = 0;\n            if ((piVar10 < local_80) && (iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar17);\n          piVar10 = piVar19;\n          local_8c = piVar11;\n        } while (piVar19 != piVar11);\n      }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar11 = (int *)((int)local_8c + iVar9);\n        piVar10 = local_8c;\n        do {\n          piVar19 = (int *)((int)piVar10 + 1);\n          if (piVar19 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            eVar24 = (*byte_get)((uchar *)piVar10,iVar9);\n            uVar17 = (uint)eVar24 & 0xff;\n          }\n          else {\n            uVar17 = 0;\n            if ((piVar10 < local_80) && (iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar17);\n          piVar10 = piVar19;\n          local_8c = piVar11;\n        } while (piVar19 != piVar11);\n      }" { (expression_statement "piVar11 = (int *)((int)local_8c + iVar9);" (assignment_expression "piVar11 = (int *)((int)local_8c + iVar9)" identifier = (cast_expression "(int *)((int)local_8c + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c + iVar9)" ( (binary_expression "(int)local_8c + iVar9" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "piVar10 = local_8c;" (assignment_expression "piVar10 = local_8c" identifier = identifier) ;) (do_statement "do {\n          piVar19 = (int *)((int)piVar10 + 1);\n          if (piVar19 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            eVar24 = (*byte_get)((uchar *)piVar10,iVar9);\n            uVar17 = (uint)eVar24 & 0xff;\n          }\n          else {\n            uVar17 = 0;\n            if ((piVar10 < local_80) && (iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar17);\n          piVar10 = piVar19;\n          local_8c = piVar11;\n        } while (piVar19 != piVar11);" do (compound_statement "{\n          piVar19 = (int *)((int)piVar10 + 1);\n          if (piVar19 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            eVar24 = (*byte_get)((uchar *)piVar10,iVar9);\n            uVar17 = (uint)eVar24 & 0xff;\n          }\n          else {\n            uVar17 = 0;\n            if ((piVar10 < local_80) && (iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar17);\n          piVar10 = piVar19;\n          local_8c = piVar11;\n        }" { (expression_statement "piVar19 = (int *)((int)piVar10 + 1);" (assignment_expression "piVar19 = (int *)((int)piVar10 + 1)" identifier = (cast_expression "(int *)((int)piVar10 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + 1)" ( (binary_expression "(int)piVar10 + 1" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (piVar19 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            eVar24 = (*byte_get)((uchar *)piVar10,iVar9);\n            uVar17 = (uint)eVar24 & 0xff;\n          }\n          else {\n            uVar17 = 0;\n            if ((piVar10 < local_80) && (iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }" if (parenthesized_expression "(piVar19 < local_80)" ( (binary_expression "piVar19 < local_80" identifier < identifier) )) (compound_statement "{\n            iVar9 = 1;\nLAB_00058368:\n            eVar24 = (*byte_get)((uchar *)piVar10,iVar9);\n            uVar17 = (uint)eVar24 & 0xff;\n          }" { (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00058368:\n            eVar24 = (*byte_get)((uchar *)piVar10,iVar9);" statement_identifier : (expression_statement "eVar24 = (*byte_get)((uchar *)piVar10,iVar9);" (assignment_expression "eVar24 = (*byte_get)((uchar *)piVar10,iVar9)" identifier = (call_expression "(*byte_get)((uchar *)piVar10,iVar9)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)piVar10,iVar9)" ( (cast_expression "(uchar *)piVar10" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;)) (expression_statement "uVar17 = (uint)eVar24 & 0xff;" (assignment_expression "uVar17 = (uint)eVar24 & 0xff" identifier = (binary_expression "(uint)eVar24 & 0xff" (cast_expression "(uint)eVar24" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) }) (else_clause "else {\n            uVar17 = 0;\n            if ((piVar10 < local_80) && (iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }" else (compound_statement "{\n            uVar17 = 0;\n            if ((piVar10 < local_80) && (iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (if_statement "if ((piVar10 < local_80) && (iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8))\n            goto LAB_00058368;" if (parenthesized_expression "((piVar10 < local_80) && (iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8))" ( (binary_expression "(piVar10 < local_80) && (iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8)" (parenthesized_expression "(piVar10 < local_80)" ( (binary_expression "piVar10 < local_80" identifier < identifier) )) && (parenthesized_expression "(iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8)" ( (comma_expression "iVar9 = (int)local_80 - (int)piVar10, iVar9 - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)piVar10" identifier = (binary_expression "(int)local_80 - (int)piVar10" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00058368;" goto statement_identifier ;)) }))) (expression_statement "printf(" %02x",uVar17);" (call_expression "printf(" %02x",uVar17)" identifier (argument_list "(" %02x",uVar17)" ( (string_literal "" %02x"" " string_content ") , identifier ))) ;) (expression_statement "piVar10 = piVar19;" (assignment_expression "piVar10 = piVar19" identifier = identifier) ;) (expression_statement "local_8c = piVar11;" (assignment_expression "local_8c = piVar11" identifier = identifier) ;) }) while (parenthesized_expression "(piVar19 != piVar11)" ( (binary_expression "piVar19 != piVar11" identifier != identifier) )) ;) })) }) (else_clause "else {\n      if ((piVar19 < local_80) && (iVar9 = (int)local_80 - (int)piVar19, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar10 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (dwarf_vma *)0x0;\n      if (local_80 <= piVar10 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 4),iVar9);\n      local_70 = (uint)eVar24;\n      local_64 = (int *)(local_70 << 2);\n      if (piVar10 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar10 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_6c._4_4_ = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar10 + 7) goto LAB_00058291;\nLAB_00058df0:\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 6),4);\n      local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);\n      if (piVar10 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar10 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar10 + 8;\n      pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar7);\n    }" else (compound_statement "{\n      if ((piVar19 < local_80) && (iVar9 = (int)local_80 - (int)piVar19, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar10 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (dwarf_vma *)0x0;\n      if (local_80 <= piVar10 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 4),iVar9);\n      local_70 = (uint)eVar24;\n      local_64 = (int *)(local_70 << 2);\n      if (piVar10 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar10 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_6c._4_4_ = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar10 + 7) goto LAB_00058291;\nLAB_00058df0:\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 6),4);\n      local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);\n      if (piVar10 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar10 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar10 + 8;\n      pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar7);\n    }" { (if_statement "if ((piVar19 < local_80) && (iVar9 = (int)local_80 - (int)piVar19, iVar9 - 1U < 8))\n      goto LAB_00058ee1;" if (parenthesized_expression "((piVar19 < local_80) && (iVar9 = (int)local_80 - (int)piVar19, iVar9 - 1U < 8))" ( (binary_expression "(piVar19 < local_80) && (iVar9 = (int)local_80 - (int)piVar19, iVar9 - 1U < 8)" (parenthesized_expression "(piVar19 < local_80)" ( (binary_expression "piVar19 < local_80" identifier < identifier) )) && (parenthesized_expression "(iVar9 = (int)local_80 - (int)piVar19, iVar9 - 1U < 8)" ( (comma_expression "iVar9 = (int)local_80 - (int)piVar19, iVar9 - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)piVar19" identifier = (binary_expression "(int)local_80 - (int)piVar19" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00058ee1;" goto statement_identifier ;)) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (if_statement "if (piVar10 + 4 < local_80) goto LAB_00058f20;" if (parenthesized_expression "(piVar10 + 4 < local_80)" ( (binary_expression "piVar10 + 4 < local_80" (binary_expression "piVar10 + 4" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00058f20;" goto statement_identifier ;)) (labeled_statement "LAB_0005823a:\n      local_74 = (dwarf_vma *)0x0;" statement_identifier : (expression_statement "local_74 = (dwarf_vma *)0x0;" (assignment_expression "local_74 = (dwarf_vma *)0x0" identifier = (cast_expression "(dwarf_vma *)0x0" ( (type_descriptor "dwarf_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if (local_80 <= piVar10 + 5) goto LAB_0005824f;" if (parenthesized_expression "(local_80 <= piVar10 + 5)" ( (binary_expression "local_80 <= piVar10 + 5" identifier <= (binary_expression "piVar10 + 5" identifier + number_literal)) )) (goto_statement "goto LAB_0005824f;" goto statement_identifier ;)) (labeled_statement "LAB_00058f60:\n      iVar9 = 4;" statement_identifier : (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;)) (labeled_statement "LAB_00058f65:\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 4),iVar9);" statement_identifier : (expression_statement "eVar24 = (*byte_get)((uchar *)(piVar10 + 4),iVar9);" (assignment_expression "eVar24 = (*byte_get)((uchar *)(piVar10 + 4),iVar9)" identifier = (call_expression "(*byte_get)((uchar *)(piVar10 + 4),iVar9)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)(piVar10 + 4),iVar9)" ( (cast_expression "(uchar *)(piVar10 + 4)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10 + 4)" ( (binary_expression "piVar10 + 4" identifier + number_literal) ))) , identifier )))) ;)) (expression_statement "local_70 = (uint)eVar24;" (assignment_expression "local_70 = (uint)eVar24" identifier = (cast_expression "(uint)eVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_64 = (int *)(local_70 << 2);" (assignment_expression "local_64 = (int *)(local_70 << 2)" identifier = (cast_expression "(int *)(local_70 << 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_70 << 2)" ( (binary_expression "local_70 << 2" identifier << number_literal) )))) ;) (if_statement "if (piVar10 + 6 < local_80) goto LAB_00058e1a;" if (parenthesized_expression "(piVar10 + 6 < local_80)" ( (binary_expression "piVar10 + 6 < local_80" (binary_expression "piVar10 + 6" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00058e1a;" goto statement_identifier ;)) (if_statement "if ((piVar10 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;" if (parenthesized_expression "((piVar10 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 5), iVar9 - 1U < 8))" ( (binary_expression "(piVar10 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar10 + 5), iVar9 - 1U < 8)" (parenthesized_expression "(piVar10 + 5 < local_80)" ( (binary_expression "piVar10 + 5 < local_80" (binary_expression "piVar10 + 5" identifier + number_literal) < identifier) )) && (parenthesized_expression "(iVar9 = (int)local_80 - (int)(piVar10 + 5), iVar9 - 1U < 8)" ( (comma_expression "iVar9 = (int)local_80 - (int)(piVar10 + 5), iVar9 - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)(piVar10 + 5)" identifier = (binary_expression "(int)local_80 - (int)(piVar10 + 5)" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(piVar10 + 5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar10 + 5)" ( (binary_expression "piVar10 + 5" identifier + number_literal) ))))) , (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00058e1f;" goto statement_identifier ;)) (labeled_statement "LAB_0005826c:\n      local_6c._4_4_ = 0;" statement_identifier : (expression_statement "local_6c._4_4_ = 0;" (assignment_expression "local_6c._4_4_ = 0" (field_expression "local_6c._4_4_" identifier . field_identifier) = number_literal) ;)) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (if_statement "if (local_80 <= piVar10 + 7) goto LAB_00058291;" if (parenthesized_expression "(local_80 <= piVar10 + 7)" ( (binary_expression "local_80 <= piVar10 + 7" identifier <= (binary_expression "piVar10 + 7" identifier + number_literal)) )) (goto_statement "goto LAB_00058291;" goto statement_identifier ;)) (labeled_statement "LAB_00058df0:\n      eVar24 = (*byte_get)((uchar *)(piVar10 + 6),4);" statement_identifier : (expression_statement "eVar24 = (*byte_get)((uchar *)(piVar10 + 6),4);" (assignment_expression "eVar24 = (*byte_get)((uchar *)(piVar10 + 6),4)" identifier = (call_expression "(*byte_get)((uchar *)(piVar10 + 6),4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)(piVar10 + 6),4)" ( (cast_expression "(uchar *)(piVar10 + 6)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10 + 6)" ( (binary_expression "piVar10 + 6" identifier + number_literal) ))) , number_literal )))) ;)) (expression_statement "local_6c = CONCAT44(local_6c._4_4_,(int)eVar24);" (assignment_expression "local_6c = CONCAT44(local_6c._4_4_,(int)eVar24)" identifier = (call_expression "CONCAT44(local_6c._4_4_,(int)eVar24)" identifier (argument_list "(local_6c._4_4_,(int)eVar24)" ( (field_expression "local_6c._4_4_" identifier . field_identifier) , (cast_expression "(int)eVar24" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (if_statement "if (piVar10 + 8 < local_80) goto LAB_00058e10;" if (parenthesized_expression "(piVar10 + 8 < local_80)" ( (binary_expression "piVar10 + 8 < local_80" (binary_expression "piVar10 + 8" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00058e10;" goto statement_identifier ;)) (expression_statement "iVar9 = (int)local_80 - (int)(piVar10 + 7);" (assignment_expression "iVar9 = (int)local_80 - (int)(piVar10 + 7)" identifier = (binary_expression "(int)local_80 - (int)(piVar10 + 7)" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(piVar10 + 7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar10 + 7)" ( (binary_expression "piVar10 + 7" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 - 1U < 8) goto LAB_000582ab;" if (parenthesized_expression "(iVar9 - 1U < 8)" ( (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_000582ab;" goto statement_identifier ;)) (labeled_statement "LAB_0005838d:\n      local_8c = piVar10 + 8;" statement_identifier : (expression_statement "local_8c = piVar10 + 8;" (assignment_expression "local_8c = piVar10 + 8" identifier = (binary_expression "piVar10 + 8" identifier + number_literal)) ;)) (expression_statement "pcVar7 = (char *)dcgettext(0,"Augmentation string:",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Augmentation string:",5)" identifier = (cast_expression "(char *)dcgettext(0,"Augmentation string:",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Augmentation string:",5)" identifier (argument_list "(0,"Augmentation string:",5)" ( number_literal , (string_literal ""Augmentation string:"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar7);" (call_expression "printf(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) }))) (expression_statement "puVar4 = PTR_stdout_000b3fd8;" (assignment_expression "puVar4 = PTR_stdout_000b3fd8" identifier = identifier) ;) (expression_statement "putc(10,*(FILE **)PTR_stdout_000b3fd8);" (call_expression "putc(10,*(FILE **)PTR_stdout_000b3fd8)" identifier (argument_list "(10,*(FILE **)PTR_stdout_000b3fd8)" ( number_literal , (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" * (cast_expression "(FILE **)PTR_stdout_000b3fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "putc(10,*(FILE **)puVar4);" (call_expression "putc(10,*(FILE **)puVar4)" identifier (argument_list "(10,*(FILE **)puVar4)" ( number_literal , (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,"CU table:\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"CU table:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"CU table:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"CU table:\n",5)" identifier (argument_list "(0,"CU table:\n",5)" ( number_literal , (string_literal ""CU table:\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7);" (call_expression "printf(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (if_statement "if (local_88 != (int *)0x0) {\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar10 = (int *)((int)piVar11 + local_7c);\n        uVar17 = local_7c;\n        if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7,iVar9,uVar22);\n        piVar11 = piVar10;\n        iVar9 = iVar18;\n      } while (local_88 != (int *)iVar18);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }" if (parenthesized_expression "(local_88 != (int *)0x0)" ( (binary_expression "local_88 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar10 = (int *)((int)piVar11 + local_7c);\n        uVar17 = local_7c;\n        if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7,iVar9,uVar22);\n        piVar11 = piVar10;\n        iVar9 = iVar18;\n      } while (local_88 != (int *)iVar18);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }" { (expression_statement "piVar11 = local_8c;" (assignment_expression "piVar11 = local_8c" identifier = identifier) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n        piVar10 = (int *)((int)piVar11 + local_7c);\n        uVar17 = local_7c;\n        if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7,iVar9,uVar22);\n        piVar11 = piVar10;\n        iVar9 = iVar18;\n      } while (local_88 != (int *)iVar18);" do (compound_statement "{\n        piVar10 = (int *)((int)piVar11 + local_7c);\n        uVar17 = local_7c;\n        if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7,iVar9,uVar22);\n        piVar11 = piVar10;\n        iVar9 = iVar18;\n      }" { (expression_statement "piVar10 = (int *)((int)piVar11 + local_7c);" (assignment_expression "piVar10 = (int *)((int)piVar11 + local_7c)" identifier = (cast_expression "(int *)((int)piVar11 + local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + local_7c)" ( (binary_expression "(int)piVar11 + local_7c" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "uVar17 = local_7c;" (assignment_expression "uVar17 = local_7c" identifier = identifier) ;) (if_statement "if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }" if (parenthesized_expression "((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8))))" ( (binary_expression "(piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))" (parenthesized_expression "(piVar10 < local_80)" ( (binary_expression "piVar10 < local_80" identifier < identifier) )) || (parenthesized_expression "((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))" ( (parenthesized_expression "(uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8))" ( (comma_expression "uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)" (assignment_expression "uVar22 = 0" identifier = number_literal) , (binary_expression "(int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)" (binary_expression "(int *)((int)piVar10 - local_7c) < local_80" (cast_expression "(int *)((int)piVar10 - local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 - local_7c)" ( (binary_expression "(int)piVar10 - local_7c" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) ))) < identifier) && (parenthesized_expression "(uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)" ( (comma_expression "uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8" (assignment_expression "uVar17 = (int)local_80 - (int)piVar11" identifier = (binary_expression "(int)local_80 - (int)piVar11" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "((int)local_80 - (int)piVar11) - 1U < 8" (binary_expression "((int)local_80 - (int)piVar11) - 1U" (parenthesized_expression "((int)local_80 - (int)piVar11)" ( (binary_expression "(int)local_80 - (int)piVar11" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }" { (expression_statement "eVar24 = (*byte_get)((uchar *)piVar11,uVar17);" (assignment_expression "eVar24 = (*byte_get)((uchar *)piVar11,uVar17)" identifier = (call_expression "(*byte_get)((uchar *)piVar11,uVar17)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)piVar11,uVar17)" ( (cast_expression "(uchar *)piVar11" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "uVar22 = (undefined4)eVar24;" (assignment_expression "uVar22 = (undefined4)eVar24" identifier = (cast_expression "(undefined4)eVar24" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) })) (expression_statement "pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"[%3u] 0x%lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"[%3u] 0x%lx\n",5)" identifier (argument_list "(0,"[%3u] 0x%lx\n",5)" ( number_literal , (string_literal ""[%3u] 0x%lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "iVar18 = iVar9 + 1;" (assignment_expression "iVar18 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "printf(pcVar7,iVar9,uVar22);" (call_expression "printf(pcVar7,iVar9,uVar22)" identifier (argument_list "(pcVar7,iVar9,uVar22)" ( identifier , identifier , identifier ))) ;) (expression_statement "piVar11 = piVar10;" (assignment_expression "piVar11 = piVar10" identifier = identifier) ;) (expression_statement "iVar9 = iVar18;" (assignment_expression "iVar9 = iVar18" identifier = identifier) ;) }) while (parenthesized_expression "(local_88 != (int *)iVar18)" ( (binary_expression "local_88 != (int *)iVar18" identifier != (cast_expression "(int *)iVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) (expression_statement "local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);" (assignment_expression "local_8c = (int *)((int)local_8c + (int)local_88 * local_7c)" identifier = (cast_expression "(int *)((int)local_8c + (int)local_88 * local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c + (int)local_88 * local_7c)" ( (binary_expression "(int)local_8c + (int)local_88 * local_7c" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)local_88 * local_7c" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) * identifier)) )))) ;) })) (expression_statement "putc(10,*(FILE **)puVar4);" (call_expression "putc(10,*(FILE **)puVar4)" identifier (argument_list "(10,*(FILE **)puVar4)" ( number_literal , (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,"TU table:\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"TU table:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"TU table:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"TU table:\n",5)" identifier (argument_list "(0,"TU table:\n",5)" ( number_literal , (string_literal ""TU table:\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7);" (call_expression "printf(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (if_statement "if (local_78 != 0) {\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar10 = (int *)((int)piVar11 + local_7c);\n        uVar17 = local_7c;\n        if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7,iVar9,uVar22);\n        piVar11 = piVar10;\n        iVar9 = iVar18;\n      } while (iVar18 != local_78);\n      local_8c = (int *)((int)local_8c + iVar18 * local_7c);\n    }" if (parenthesized_expression "(local_78 != 0)" ( (binary_expression "local_78 != 0" identifier != number_literal) )) (compound_statement "{\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar10 = (int *)((int)piVar11 + local_7c);\n        uVar17 = local_7c;\n        if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7,iVar9,uVar22);\n        piVar11 = piVar10;\n        iVar9 = iVar18;\n      } while (iVar18 != local_78);\n      local_8c = (int *)((int)local_8c + iVar18 * local_7c);\n    }" { (expression_statement "piVar11 = local_8c;" (assignment_expression "piVar11 = local_8c" identifier = identifier) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n        piVar10 = (int *)((int)piVar11 + local_7c);\n        uVar17 = local_7c;\n        if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7,iVar9,uVar22);\n        piVar11 = piVar10;\n        iVar9 = iVar18;\n      } while (iVar18 != local_78);" do (compound_statement "{\n        piVar10 = (int *)((int)piVar11 + local_7c);\n        uVar17 = local_7c;\n        if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7,iVar9,uVar22);\n        piVar11 = piVar10;\n        iVar9 = iVar18;\n      }" { (expression_statement "piVar10 = (int *)((int)piVar11 + local_7c);" (assignment_expression "piVar10 = (int *)((int)piVar11 + local_7c)" identifier = (cast_expression "(int *)((int)piVar11 + local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + local_7c)" ( (binary_expression "(int)piVar11 + local_7c" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "uVar17 = local_7c;" (assignment_expression "uVar17 = local_7c" identifier = identifier) ;) (if_statement "if ((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))) {\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }" if (parenthesized_expression "((piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8))))" ( (binary_expression "(piVar10 < local_80) ||\n           ((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))" (parenthesized_expression "(piVar10 < local_80)" ( (binary_expression "piVar10 < local_80" identifier < identifier) )) || (parenthesized_expression "((uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)))" ( (parenthesized_expression "(uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8))" ( (comma_expression "uVar22 = 0, (int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)" (assignment_expression "uVar22 = 0" identifier = number_literal) , (binary_expression "(int *)((int)piVar10 - local_7c) < local_80 &&\n            (uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)" (binary_expression "(int *)((int)piVar10 - local_7c) < local_80" (cast_expression "(int *)((int)piVar10 - local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 - local_7c)" ( (binary_expression "(int)piVar10 - local_7c" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) ))) < identifier) && (parenthesized_expression "(uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8)" ( (comma_expression "uVar17 = (int)local_80 - (int)piVar11, ((int)local_80 - (int)piVar11) - 1U < 8" (assignment_expression "uVar17 = (int)local_80 - (int)piVar11" identifier = (binary_expression "(int)local_80 - (int)piVar11" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "((int)local_80 - (int)piVar11) - 1U < 8" (binary_expression "((int)local_80 - (int)piVar11) - 1U" (parenthesized_expression "((int)local_80 - (int)piVar11)" ( (binary_expression "(int)local_80 - (int)piVar11" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n          eVar24 = (*byte_get)((uchar *)piVar11,uVar17);\n          uVar22 = (undefined4)eVar24;\n        }" { (expression_statement "eVar24 = (*byte_get)((uchar *)piVar11,uVar17);" (assignment_expression "eVar24 = (*byte_get)((uchar *)piVar11,uVar17)" identifier = (call_expression "(*byte_get)((uchar *)piVar11,uVar17)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)piVar11,uVar17)" ( (cast_expression "(uchar *)piVar11" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "uVar22 = (undefined4)eVar24;" (assignment_expression "uVar22 = (undefined4)eVar24" identifier = (cast_expression "(undefined4)eVar24" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) })) (expression_statement "pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"[%3u] 0x%lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"[%3u] 0x%lx\n",5)" identifier (argument_list "(0,"[%3u] 0x%lx\n",5)" ( number_literal , (string_literal ""[%3u] 0x%lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "iVar18 = iVar9 + 1;" (assignment_expression "iVar18 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "printf(pcVar7,iVar9,uVar22);" (call_expression "printf(pcVar7,iVar9,uVar22)" identifier (argument_list "(pcVar7,iVar9,uVar22)" ( identifier , identifier , identifier ))) ;) (expression_statement "piVar11 = piVar10;" (assignment_expression "piVar11 = piVar10" identifier = identifier) ;) (expression_statement "iVar9 = iVar18;" (assignment_expression "iVar9 = iVar18" identifier = identifier) ;) }) while (parenthesized_expression "(iVar18 != local_78)" ( (binary_expression "iVar18 != local_78" identifier != identifier) )) ;) (expression_statement "local_8c = (int *)((int)local_8c + iVar18 * local_7c);" (assignment_expression "local_8c = (int *)((int)local_8c + iVar18 * local_7c)" identifier = (cast_expression "(int *)((int)local_8c + iVar18 * local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c + iVar18 * local_7c)" ( (binary_expression "(int)local_8c + iVar18 * local_7c" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar18 * local_7c" identifier * identifier)) )))) ;) })) (expression_statement "putc(10,*(FILE **)puVar4);" (call_expression "putc(10,*(FILE **)puVar4)" identifier (argument_list "(10,*(FILE **)puVar4)" ( number_literal , (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,"Foreign TU table:\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Foreign TU table:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Foreign TU table:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Foreign TU table:\n",5)" identifier (argument_list "(0,"Foreign TU table:\n",5)" ( number_literal , (string_literal ""Foreign TU table:\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7);" (call_expression "printf(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (if_statement "if (local_74 != (dwarf_vma *)0x0) {\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar11 + 2 < local_80) {\n          iVar18 = 8;\nLAB_0005862e:\n          eVar24 = (*byte_get)((uchar *)piVar11,iVar18);\n          local_94._0_4_ = (uint)eVar24;\n        }\n        else {\n          local_94._0_4_ = 0;\n          if ((piVar11 < local_80) && (iVar18 = (int)local_80 - (int)piVar11, iVar18 - 1U < 8))\n          goto LAB_0005862e;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7);\n        print_dwarf_vma(CONCAT44(iVar9,pcVar7),(uint)local_94);\n        putc(10,*(FILE **)puVar4);\n        piVar11 = piVar11 + 2;\n        iVar9 = iVar18;\n      } while ((dwarf_vma *)iVar18 != local_74);\n      local_8c = local_8c + iVar18 * 2;\n    }" if (parenthesized_expression "(local_74 != (dwarf_vma *)0x0)" ( (binary_expression "local_74 != (dwarf_vma *)0x0" identifier != (cast_expression "(dwarf_vma *)0x0" ( (type_descriptor "dwarf_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar11 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar11 + 2 < local_80) {\n          iVar18 = 8;\nLAB_0005862e:\n          eVar24 = (*byte_get)((uchar *)piVar11,iVar18);\n          local_94._0_4_ = (uint)eVar24;\n        }\n        else {\n          local_94._0_4_ = 0;\n          if ((piVar11 < local_80) && (iVar18 = (int)local_80 - (int)piVar11, iVar18 - 1U < 8))\n          goto LAB_0005862e;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7);\n        print_dwarf_vma(CONCAT44(iVar9,pcVar7),(uint)local_94);\n        putc(10,*(FILE **)puVar4);\n        piVar11 = piVar11 + 2;\n        iVar9 = iVar18;\n      } while ((dwarf_vma *)iVar18 != local_74);\n      local_8c = local_8c + iVar18 * 2;\n    }" { (expression_statement "piVar11 = local_8c;" (assignment_expression "piVar11 = local_8c" identifier = identifier) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n        if (piVar11 + 2 < local_80) {\n          iVar18 = 8;\nLAB_0005862e:\n          eVar24 = (*byte_get)((uchar *)piVar11,iVar18);\n          local_94._0_4_ = (uint)eVar24;\n        }\n        else {\n          local_94._0_4_ = 0;\n          if ((piVar11 < local_80) && (iVar18 = (int)local_80 - (int)piVar11, iVar18 - 1U < 8))\n          goto LAB_0005862e;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7);\n        print_dwarf_vma(CONCAT44(iVar9,pcVar7),(uint)local_94);\n        putc(10,*(FILE **)puVar4);\n        piVar11 = piVar11 + 2;\n        iVar9 = iVar18;\n      } while ((dwarf_vma *)iVar18 != local_74);" do (compound_statement "{\n        if (piVar11 + 2 < local_80) {\n          iVar18 = 8;\nLAB_0005862e:\n          eVar24 = (*byte_get)((uchar *)piVar11,iVar18);\n          local_94._0_4_ = (uint)eVar24;\n        }\n        else {\n          local_94._0_4_ = 0;\n          if ((piVar11 < local_80) && (iVar18 = (int)local_80 - (int)piVar11, iVar18 - 1U < 8))\n          goto LAB_0005862e;\n        }\n        pcVar7 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar18 = iVar9 + 1;\n        printf(pcVar7);\n        print_dwarf_vma(CONCAT44(iVar9,pcVar7),(uint)local_94);\n        putc(10,*(FILE **)puVar4);\n        piVar11 = piVar11 + 2;\n        iVar9 = iVar18;\n      }" { (if_statement "if (piVar11 + 2 < local_80) {\n          iVar18 = 8;\nLAB_0005862e:\n          eVar24 = (*byte_get)((uchar *)piVar11,iVar18);\n          local_94._0_4_ = (uint)eVar24;\n        }\n        else {\n          local_94._0_4_ = 0;\n          if ((piVar11 < local_80) && (iVar18 = (int)local_80 - (int)piVar11, iVar18 - 1U < 8))\n          goto LAB_0005862e;\n        }" if (parenthesized_expression "(piVar11 + 2 < local_80)" ( (binary_expression "piVar11 + 2 < local_80" (binary_expression "piVar11 + 2" identifier + number_literal) < identifier) )) (compound_statement "{\n          iVar18 = 8;\nLAB_0005862e:\n          eVar24 = (*byte_get)((uchar *)piVar11,iVar18);\n          local_94._0_4_ = (uint)eVar24;\n        }" { (expression_statement "iVar18 = 8;" (assignment_expression "iVar18 = 8" identifier = number_literal) ;) (labeled_statement "LAB_0005862e:\n          eVar24 = (*byte_get)((uchar *)piVar11,iVar18);" statement_identifier : (expression_statement "eVar24 = (*byte_get)((uchar *)piVar11,iVar18);" (assignment_expression "eVar24 = (*byte_get)((uchar *)piVar11,iVar18)" identifier = (call_expression "(*byte_get)((uchar *)piVar11,iVar18)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)piVar11,iVar18)" ( (cast_expression "(uchar *)piVar11" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;)) (expression_statement "local_94._0_4_ = (uint)eVar24;" (assignment_expression "local_94._0_4_ = (uint)eVar24" (field_expression "local_94._0_4_" identifier . field_identifier) = (cast_expression "(uint)eVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) (else_clause "else {\n          local_94._0_4_ = 0;\n          if ((piVar11 < local_80) && (iVar18 = (int)local_80 - (int)piVar11, iVar18 - 1U < 8))\n          goto LAB_0005862e;\n        }" else (compound_statement "{\n          local_94._0_4_ = 0;\n          if ((piVar11 < local_80) && (iVar18 = (int)local_80 - (int)piVar11, iVar18 - 1U < 8))\n          goto LAB_0005862e;\n        }" { (expression_statement "local_94._0_4_ = 0;" (assignment_expression "local_94._0_4_ = 0" (field_expression "local_94._0_4_" identifier . field_identifier) = number_literal) ;) (if_statement "if ((piVar11 < local_80) && (iVar18 = (int)local_80 - (int)piVar11, iVar18 - 1U < 8))\n          goto LAB_0005862e;" if (parenthesized_expression "((piVar11 < local_80) && (iVar18 = (int)local_80 - (int)piVar11, iVar18 - 1U < 8))" ( (binary_expression "(piVar11 < local_80) && (iVar18 = (int)local_80 - (int)piVar11, iVar18 - 1U < 8)" (parenthesized_expression "(piVar11 < local_80)" ( (binary_expression "piVar11 < local_80" identifier < identifier) )) && (parenthesized_expression "(iVar18 = (int)local_80 - (int)piVar11, iVar18 - 1U < 8)" ( (comma_expression "iVar18 = (int)local_80 - (int)piVar11, iVar18 - 1U < 8" (assignment_expression "iVar18 = (int)local_80 - (int)piVar11" identifier = (binary_expression "(int)local_80 - (int)piVar11" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar18 - 1U < 8" (binary_expression "iVar18 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_0005862e;" goto statement_identifier ;)) }))) (expression_statement "pcVar7 = (char *)dcgettext(0,"[%3u] ",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"[%3u] ",5)" identifier = (cast_expression "(char *)dcgettext(0,"[%3u] ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"[%3u] ",5)" identifier (argument_list "(0,"[%3u] ",5)" ( number_literal , (string_literal ""[%3u] "" " string_content ") , number_literal ))))) ;) (expression_statement "iVar18 = iVar9 + 1;" (assignment_expression "iVar18 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "printf(pcVar7);" (call_expression "printf(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (expression_statement "print_dwarf_vma(CONCAT44(iVar9,pcVar7),(uint)local_94);" (call_expression "print_dwarf_vma(CONCAT44(iVar9,pcVar7),(uint)local_94)" identifier (argument_list "(CONCAT44(iVar9,pcVar7),(uint)local_94)" ( (call_expression "CONCAT44(iVar9,pcVar7)" identifier (argument_list "(iVar9,pcVar7)" ( identifier , identifier ))) , (cast_expression "(uint)local_94" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (expression_statement "putc(10,*(FILE **)puVar4);" (call_expression "putc(10,*(FILE **)puVar4)" identifier (argument_list "(10,*(FILE **)puVar4)" ( number_literal , (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "piVar11 = piVar11 + 2;" (assignment_expression "piVar11 = piVar11 + 2" identifier = (binary_expression "piVar11 + 2" identifier + number_literal)) ;) (expression_statement "iVar9 = iVar18;" (assignment_expression "iVar9 = iVar18" identifier = identifier) ;) }) while (parenthesized_expression "((dwarf_vma *)iVar18 != local_74)" ( (binary_expression "(dwarf_vma *)iVar18 != local_74" (cast_expression "(dwarf_vma *)iVar18" ( (type_descriptor "dwarf_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) ;) (expression_statement "local_8c = local_8c + iVar18 * 2;" (assignment_expression "local_8c = local_8c + iVar18 * 2" identifier = (binary_expression "local_8c + iVar18 * 2" identifier + (binary_expression "iVar18 * 2" identifier * number_literal))) ;) })) (expression_statement "putc(10,*(FILE **)puVar4);" (call_expression "putc(10,*(FILE **)puVar4)" identifier (argument_list "(10,*(FILE **)puVar4)" ( number_literal , (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "puVar23 = (uint *)((int)local_64 + (int)local_8c);" (assignment_expression "puVar23 = (uint *)((int)local_64 + (int)local_8c)" identifier = (cast_expression "(uint *)((int)local_64 + (int)local_8c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + (int)local_8c)" ( (binary_expression "(int)local_64 + (int)local_8c" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_4c = (int *)(local_60 + (int)puVar23);" (assignment_expression "local_4c = (int *)(local_60 + (int)puVar23)" identifier = (cast_expression "(int *)(local_60 + (int)puVar23)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + (int)puVar23)" ( (binary_expression "local_60 + (int)puVar23" identifier + (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_50 = (int *)((int)local_4c + local_6c._4_4_);" (assignment_expression "local_50 = (int *)((int)local_4c + local_6c._4_4_)" identifier = (cast_expression "(int *)((int)local_4c + local_6c._4_4_)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_4c + local_6c._4_4_)" ( (binary_expression "(int)local_4c + local_6c._4_4_" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + (field_expression "local_6c._4_4_" identifier . field_identifier)) )))) ;) (expression_statement "puVar20 = (uchar *)(local_6c._4_4_ + (int)local_50);" (assignment_expression "puVar20 = (uchar *)(local_6c._4_4_ + (int)local_50)" identifier = (cast_expression "(uchar *)(local_6c._4_4_ + (int)local_50)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6c._4_4_ + (int)local_50)" ( (binary_expression "local_6c._4_4_ + (int)local_50" (field_expression "local_6c._4_4_" identifier . field_identifier) + (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "piVar11 = (int *)(puVar20 + (int)local_6c);" (assignment_expression "piVar11 = (int *)(puVar20 + (int)local_6c)" identifier = (cast_expression "(int *)(puVar20 + (int)local_6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + (int)local_6c)" ( (binary_expression "puVar20 + (int)local_6c" identifier + (cast_expression "(int)local_6c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (local_80 < piVar11) {\n      puVar20 = section->start;\n      pcVar7 = (char *)dcgettext(0,\n                                 "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                                 ,5);\n      warn(pcVar7,(int)piVar11 - (int)puVar20,(int)local_80 - (int)puVar20,\n           (int)piVar2 - (int)puVar20);\n      return 0;\n    }" if (parenthesized_expression "(local_80 < piVar11)" ( (binary_expression "local_80 < piVar11" identifier < identifier) )) (compound_statement "{\n      puVar20 = section->start;\n      pcVar7 = (char *)dcgettext(0,\n                                 "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                                 ,5);\n      warn(pcVar7,(int)piVar11 - (int)puVar20,(int)local_80 - (int)puVar20,\n           (int)piVar2 - (int)puVar20);\n      return 0;\n    }" { (expression_statement "puVar20 = section->start;" (assignment_expression "puVar20 = section->start" identifier = (field_expression "section->start" identifier -> field_identifier)) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,\n                                 "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                                 ,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,\n                                 "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                                 ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                 "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                                 ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                 "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                                 ,5)" identifier (argument_list "(0,\n                                 "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                                 ,5)" ( number_literal , (string_literal ""Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar7,(int)piVar11 - (int)puVar20,(int)local_80 - (int)puVar20,\n           (int)piVar2 - (int)puVar20);" (call_expression "warn(pcVar7,(int)piVar11 - (int)puVar20,(int)local_80 - (int)puVar20,\n           (int)piVar2 - (int)puVar20)" identifier (argument_list "(pcVar7,(int)piVar11 - (int)puVar20,(int)local_80 - (int)puVar20,\n           (int)piVar2 - (int)puVar20)" ( identifier , (binary_expression "(int)piVar11 - (int)puVar20" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "(int)local_80 - (int)puVar20" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "(int)piVar2 - (int)puVar20" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (if_statement "if (local_70 != 0) {\n      iVar9 = 0;\n      piVar10 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar10 != local_8c);\n    }" if (parenthesized_expression "(local_70 != 0)" ( (binary_expression "local_70 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar9 = 0;\n      piVar10 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar10 != local_8c);\n    }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "piVar10 = local_8c + local_70;" (assignment_expression "piVar10 = local_8c + local_70" identifier = (binary_expression "local_8c + local_70" identifier + identifier)) ;) (do_statement "do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar10 != local_8c);" do (compound_statement "{\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      }" { (expression_statement "iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);" (assignment_expression "iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0)" identifier = (binary_expression "(iVar9 + 1) - (uint)(*local_8c == 0)" (parenthesized_expression "(iVar9 + 1)" ( (binary_expression "iVar9 + 1" identifier + number_literal) )) - (call_expression "(uint)(*local_8c == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*local_8c == 0)" ( (binary_expression "*local_8c == 0" (pointer_expression "*local_8c" * identifier) == number_literal) ))))) ;) (expression_statement "local_8c = local_8c + 1;" (assignment_expression "local_8c = local_8c + 1" identifier = (binary_expression "local_8c + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar10 != local_8c)" ( (binary_expression "piVar10 != local_8c" identifier != identifier) )) ;) })) (expression_statement "pcVar7 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70,\n                                5);" (assignment_expression "pcVar7 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70,\n                                5)" identifier = (cast_expression "(char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70,\n                                5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70,\n                                5)" identifier (argument_list "(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70,\n                                5)" ( number_literal , (string_literal ""Used %zu of %lu bucket.\n"" " string_content escape_sequence ") , (string_literal ""Used %zu of %lu buckets.\n"" " string_content escape_sequence ") , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar7,iVar9,local_70);" (call_expression "printf(pcVar7,iVar9,local_70)" identifier (argument_list "(pcVar7,iVar9,local_70)" ( identifier , identifier , identifier ))) ;) (if_statement "if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar6 = 0;\n      uVar17 = *puVar23;\n      puVar15 = puVar23;\n      while (puVar15 = puVar15 + 1, puVar23 + local_44 != puVar15) {\n        uVar14 = *puVar15;\n        if (uVar17 % local_70 == uVar14 % local_70) {\n          uVar6 = uVar6 + 1;\n          local_78 = local_78 + 1;\n          uVar17 = uVar14;\n          if (local_88 < uVar6) {\n            local_88 = (int *)uVar6;\n          }\n        }\n        else {\n          uVar6 = 0;\n          uVar17 = uVar14;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }" if (parenthesized_expression "(local_44 == 0)" ( (binary_expression "local_44 == 0" identifier == number_literal) )) (compound_statement "{\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }" { (expression_statement "local_88 = (int *)0x0;" (assignment_expression "local_88 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar6 = 0;\n      uVar17 = *puVar23;\n      puVar15 = puVar23;\n      while (puVar15 = puVar15 + 1, puVar23 + local_44 != puVar15) {\n        uVar14 = *puVar15;\n        if (uVar17 % local_70 == uVar14 % local_70) {\n          uVar6 = uVar6 + 1;\n          local_78 = local_78 + 1;\n          uVar17 = uVar14;\n          if (local_88 < uVar6) {\n            local_88 = (int *)uVar6;\n          }\n        }\n        else {\n          uVar6 = 0;\n          uVar17 = uVar14;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }" else (compound_statement "{\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar6 = 0;\n      uVar17 = *puVar23;\n      puVar15 = puVar23;\n      while (puVar15 = puVar15 + 1, puVar23 + local_44 != puVar15) {\n        uVar14 = *puVar15;\n        if (uVar17 % local_70 == uVar14 % local_70) {\n          uVar6 = uVar6 + 1;\n          local_78 = local_78 + 1;\n          uVar17 = uVar14;\n          if (local_88 < uVar6) {\n            local_88 = (int *)uVar6;\n          }\n        }\n        else {\n          uVar6 = 0;\n          uVar17 = uVar14;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }" { (expression_statement "local_88 = (int *)0x0;" (assignment_expression "local_88 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (expression_statement "uVar17 = *puVar23;" (assignment_expression "uVar17 = *puVar23" identifier = (pointer_expression "*puVar23" * identifier)) ;) (expression_statement "puVar15 = puVar23;" (assignment_expression "puVar15 = puVar23" identifier = identifier) ;) (while_statement "while (puVar15 = puVar15 + 1, puVar23 + local_44 != puVar15) {\n        uVar14 = *puVar15;\n        if (uVar17 % local_70 == uVar14 % local_70) {\n          uVar6 = uVar6 + 1;\n          local_78 = local_78 + 1;\n          uVar17 = uVar14;\n          if (local_88 < uVar6) {\n            local_88 = (int *)uVar6;\n          }\n        }\n        else {\n          uVar6 = 0;\n          uVar17 = uVar14;\n        }\n      }" while (parenthesized_expression "(puVar15 = puVar15 + 1, puVar23 + local_44 != puVar15)" ( (comma_expression "puVar15 = puVar15 + 1, puVar23 + local_44 != puVar15" (assignment_expression "puVar15 = puVar15 + 1" identifier = (binary_expression "puVar15 + 1" identifier + number_literal)) , (binary_expression "puVar23 + local_44 != puVar15" (binary_expression "puVar23 + local_44" identifier + identifier) != identifier)) )) (compound_statement "{\n        uVar14 = *puVar15;\n        if (uVar17 % local_70 == uVar14 % local_70) {\n          uVar6 = uVar6 + 1;\n          local_78 = local_78 + 1;\n          uVar17 = uVar14;\n          if (local_88 < uVar6) {\n            local_88 = (int *)uVar6;\n          }\n        }\n        else {\n          uVar6 = 0;\n          uVar17 = uVar14;\n        }\n      }" { (expression_statement "uVar14 = *puVar15;" (assignment_expression "uVar14 = *puVar15" identifier = (pointer_expression "*puVar15" * identifier)) ;) (if_statement "if (uVar17 % local_70 == uVar14 % local_70) {\n          uVar6 = uVar6 + 1;\n          local_78 = local_78 + 1;\n          uVar17 = uVar14;\n          if (local_88 < uVar6) {\n            local_88 = (int *)uVar6;\n          }\n        }\n        else {\n          uVar6 = 0;\n          uVar17 = uVar14;\n        }" if (parenthesized_expression "(uVar17 % local_70 == uVar14 % local_70)" ( (binary_expression "uVar17 % local_70 == uVar14 % local_70" (binary_expression "uVar17 % local_70" identifier % identifier) == (binary_expression "uVar14 % local_70" identifier % identifier)) )) (compound_statement "{\n          uVar6 = uVar6 + 1;\n          local_78 = local_78 + 1;\n          uVar17 = uVar14;\n          if (local_88 < uVar6) {\n            local_88 = (int *)uVar6;\n          }\n        }" { (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "local_78 = local_78 + 1;" (assignment_expression "local_78 = local_78 + 1" identifier = (binary_expression "local_78 + 1" identifier + number_literal)) ;) (expression_statement "uVar17 = uVar14;" (assignment_expression "uVar17 = uVar14" identifier = identifier) ;) (if_statement "if (local_88 < uVar6) {\n            local_88 = (int *)uVar6;\n          }" if (parenthesized_expression "(local_88 < uVar6)" ( (binary_expression "local_88 < uVar6" identifier < identifier) )) (compound_statement "{\n            local_88 = (int *)uVar6;\n          }" { (expression_statement "local_88 = (int *)uVar6;" (assignment_expression "local_88 = (int *)uVar6" identifier = (cast_expression "(int *)uVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) }) (else_clause "else {\n          uVar6 = 0;\n          uVar17 = uVar14;\n        }" else (compound_statement "{\n          uVar6 = 0;\n          uVar17 = uVar14;\n        }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (expression_statement "uVar17 = uVar14;" (assignment_expression "uVar17 = uVar14" identifier = identifier) ;) }))) })) (expression_statement "iVar9 = iVar9 + local_78;" (assignment_expression "iVar9 = iVar9 + local_78" identifier = (binary_expression "iVar9 + local_78" identifier + identifier)) ;) }))) (expression_statement "pcVar7 = (char *)dcgettext(0,\n                               "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                               ,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,\n                               "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                               ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                               "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                               ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                               "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                               ,5)" identifier (argument_list "(0,\n                               "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                               ,5)" ( number_literal , (string_literal ""Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7,local_44,local_78,local_88);" (call_expression "printf(pcVar7,local_44,local_78,local_88)" identifier (argument_list "(pcVar7,local_44,local_78,local_88)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_44 != iVar9) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }" if (parenthesized_expression "(local_44 != iVar9)" ( (binary_expression "local_44 != iVar9" identifier != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }" { comment (expression_statement "__assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");" (call_expression "__assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names")" identifier (argument_list "("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names")" ( (string_literal ""name_count == buckets_filled + hash_clash_count"" " string_content ") , (string_literal ""../../binutils/dwarf.c"" " string_content ") , number_literal , (string_literal ""display_debug_names"" " string_content ") ))) ;) })) (expression_statement "local_88 = (int *)0x0;" (assignment_expression "local_88 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_74 = (dwarf_vma *)0x0;" (assignment_expression "local_74 = (dwarf_vma *)0x0" identifier = (cast_expression "(dwarf_vma *)0x0" ( (type_descriptor "dwarf_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8c = (int *)0x0;" (assignment_expression "local_8c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while( true ) {\n      dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n      puVar20 = puVar20 + bytes_read;\n      if (dVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (dwarf_vma *)xrealloc(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < pdVar1) {\n        dVar26 = *local_74;\n        pdVar12 = local_74;\n        while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058864;\n          dVar26 = *pdVar12;\n        }\n        puVar3 = section->start;\n        pcVar7 = (char *)dcgettext(0,\n                                   "Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"\n                                   ,5);\n        warn(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar3);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *pdVar1 = dVar25;\n      *(uchar **)(pdVar1 + 1) = puVar20;\n      read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n      puVar20 = puVar20 + bytes_read;\n      do {\n        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n        dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n      } while (dVar25 != 0 || dVar26 != 0);\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n      puVar20 = puVar20 + bytes_read;\n      if (dVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (dwarf_vma *)xrealloc(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < pdVar1) {\n        dVar26 = *local_74;\n        pdVar12 = local_74;\n        while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058864;\n          dVar26 = *pdVar12;\n        }\n        puVar3 = section->start;\n        pcVar7 = (char *)dcgettext(0,\n                                   "Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"\n                                   ,5);\n        warn(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar3);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *pdVar1 = dVar25;\n      *(uchar **)(pdVar1 + 1) = puVar20;\n      read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n      puVar20 = puVar20 + bytes_read;\n      do {\n        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n        dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n      } while (dVar25 != 0 || dVar26 != 0);\n    }" { (expression_statement "dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);" (assignment_expression "dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11)" identifier = (call_expression "read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11)" identifier (argument_list "(puVar20,&bytes_read,0,(uchar *)piVar11)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , (cast_expression "(uchar *)piVar11" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "puVar20 = puVar20 + bytes_read;" (assignment_expression "puVar20 = puVar20 + bytes_read" identifier = (binary_expression "puVar20 + bytes_read" identifier + identifier)) ;) (if_statement "if (dVar25 == 0) break;" if (parenthesized_expression "(dVar25 == 0)" ( (binary_expression "dVar25 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (dwarf_vma *)xrealloc(local_74,(int)local_88 * 0xc);\n      }" if (parenthesized_expression "(local_8c == local_88)" ( (binary_expression "local_8c == local_88" identifier == identifier) )) (compound_statement "{\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (dwarf_vma *)xrealloc(local_74,(int)local_88 * 0xc);\n      }" { (expression_statement "local_88 = (int *)((int)local_8c * 2);" (assignment_expression "local_88 = (int *)((int)local_8c * 2)" identifier = (cast_expression "(int *)((int)local_8c * 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c * 2)" ( (binary_expression "(int)local_8c * 2" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (if_statement "if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }" if (parenthesized_expression "(local_88 < 0x100)" ( (binary_expression "local_88 < 0x100" identifier < number_literal) )) (compound_statement "{\n          local_88 = (int *)0x100;\n        }" { (expression_statement "local_88 = (int *)0x100;" (assignment_expression "local_88 = (int *)0x100" identifier = (cast_expression "(int *)0x100" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "local_74 = (dwarf_vma *)xrealloc(local_74,(int)local_88 * 0xc);" (assignment_expression "local_74 = (dwarf_vma *)xrealloc(local_74,(int)local_88 * 0xc)" identifier = (cast_expression "(dwarf_vma *)xrealloc(local_74,(int)local_88 * 0xc)" ( (type_descriptor "dwarf_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(local_74,(int)local_88 * 0xc)" identifier (argument_list "(local_74,(int)local_88 * 0xc)" ( identifier , (binary_expression "(int)local_88 * 0xc" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))))) ;) })) (if_statement "if (local_88 <= local_8c) {\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }" if (parenthesized_expression "(local_88 <= local_8c)" ( (binary_expression "local_88 <= local_8c" identifier <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }" { comment (expression_statement "__assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");" (call_expression "__assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names")" identifier (argument_list "("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names")" ( (string_literal ""abbrev_lookup_used < abbrev_lookup_allocated"" " string_content ") , (string_literal ""../../binutils/dwarf.c"" " string_content ") , number_literal , (string_literal ""display_debug_names"" " string_content ") ))) ;) })) (expression_statement "pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc);" (assignment_expression "pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc)" identifier = (cast_expression "(dwarf_vma *)((int)local_74 + (int)local_8c * 0xc)" ( (type_descriptor "dwarf_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + (int)local_8c * 0xc)" ( (binary_expression "(int)local_74 + (int)local_8c * 0xc" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)local_8c * 0xc" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (if_statement "if (local_74 < pdVar1) {\n        dVar26 = *local_74;\n        pdVar12 = local_74;\n        while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058864;\n          dVar26 = *pdVar12;\n        }\n        puVar3 = section->start;\n        pcVar7 = (char *)dcgettext(0,\n                                   "Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"\n                                   ,5);\n        warn(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar3);\n      }" if (parenthesized_expression "(local_74 < pdVar1)" ( (binary_expression "local_74 < pdVar1" identifier < identifier) )) (compound_statement "{\n        dVar26 = *local_74;\n        pdVar12 = local_74;\n        while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058864;\n          dVar26 = *pdVar12;\n        }\n        puVar3 = section->start;\n        pcVar7 = (char *)dcgettext(0,\n                                   "Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"\n                                   ,5);\n        warn(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar3);\n      }" { (expression_statement "dVar26 = *local_74;" (assignment_expression "dVar26 = *local_74" identifier = (pointer_expression "*local_74" * identifier)) ;) (expression_statement "pdVar12 = local_74;" (assignment_expression "pdVar12 = local_74" identifier = identifier) ;) (while_statement "while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058864;\n          dVar26 = *pdVar12;\n        }" while (parenthesized_expression "(dVar25 != dVar26)" ( (binary_expression "dVar25 != dVar26" identifier != identifier) )) (compound_statement "{\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058864;\n          dVar26 = *pdVar12;\n        }" { (expression_statement "pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);" (assignment_expression "pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc)" identifier = (cast_expression "(dwarf_vma *)((int)pdVar12 + 0xc)" ( (type_descriptor "dwarf_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar12 + 0xc)" ( (binary_expression "(int)pdVar12 + 0xc" (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (pdVar1 <= pdVar12) goto LAB_00058864;" if (parenthesized_expression "(pdVar1 <= pdVar12)" ( (binary_expression "pdVar1 <= pdVar12" identifier <= identifier) )) (goto_statement "goto LAB_00058864;" goto statement_identifier ;)) (expression_statement "dVar26 = *pdVar12;" (assignment_expression "dVar26 = *pdVar12" identifier = (pointer_expression "*pdVar12" * identifier)) ;) })) (expression_statement "puVar3 = section->start;" (assignment_expression "puVar3 = section->start" identifier = (field_expression "section->start" identifier -> field_identifier)) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,\n                                   "Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"\n                                   ,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,\n                                   "Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"\n                                   ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                   "Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"\n                                   ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                   "Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"\n                                   ,5)" identifier (argument_list "(0,\n                                   "Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"\n                                   ,5)" ( number_literal , (string_literal ""Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar3);" (call_expression "warn(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar3)" identifier (argument_list "(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar3)" ( identifier , (cast_expression "(int)dVar25" ( (type_descriptor "int" primitive_type) ) identifier) , (binary_expression "(int)piVar2 - (int)puVar3" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) (labeled_statement "LAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);" statement_identifier : (expression_statement "local_8c = (int *)((int)local_8c + 1);" (assignment_expression "local_8c = (int *)((int)local_8c + 1)" identifier = (cast_expression "(int *)((int)local_8c + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c + 1)" ( (binary_expression "(int)local_8c + 1" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "*pdVar1 = dVar25;" (assignment_expression "*pdVar1 = dVar25" (pointer_expression "*pdVar1" * identifier) = identifier) ;) (expression_statement "*(uchar **)(pdVar1 + 1) = puVar20;" (assignment_expression "*(uchar **)(pdVar1 + 1) = puVar20" (pointer_expression "*(uchar **)(pdVar1 + 1)" * (cast_expression "(uchar **)(pdVar1 + 1)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pdVar1 + 1)" ( (binary_expression "pdVar1 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);" (call_expression "read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11)" identifier (argument_list "(puVar20,&bytes_read,0,(uchar *)piVar11)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , (cast_expression "(uchar *)piVar11" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "puVar20 = puVar20 + bytes_read;" (assignment_expression "puVar20 = puVar20 + bytes_read" identifier = (binary_expression "puVar20 + bytes_read" identifier + identifier)) ;) (do_statement "do {\n        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n        dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n      } while (dVar25 != 0 || dVar26 != 0);" do (compound_statement "{\n        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n        dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n      }" { (expression_statement "dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);" (assignment_expression "dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11)" identifier = (call_expression "read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11)" identifier (argument_list "(puVar20,&bytes_read,0,(uchar *)piVar11)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , (cast_expression "(uchar *)piVar11" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "puVar20 = puVar20 + bytes_read;" (assignment_expression "puVar20 = puVar20 + bytes_read" identifier = (binary_expression "puVar20 + bytes_read" identifier + identifier)) ;) (expression_statement "dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);" (assignment_expression "dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11)" identifier = (call_expression "read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11)" identifier (argument_list "(puVar20,&bytes_read,0,(uchar *)piVar11)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , (cast_expression "(uchar *)piVar11" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "puVar20 = puVar20 + bytes_read;" (assignment_expression "puVar20 = puVar20 + bytes_read" identifier = (binary_expression "puVar20 + bytes_read" identifier + identifier)) ;) }) while (parenthesized_expression "(dVar25 != 0 || dVar26 != 0)" ( (binary_expression "dVar25 != 0 || dVar26 != 0" (binary_expression "dVar25 != 0" identifier != number_literal) || (binary_expression "dVar26 != 0" identifier != number_literal)) )) ;) })) (expression_statement "in_stack_ffffff58 = "\nSymbol table:\n";" (assignment_expression "in_stack_ffffff58 = "\nSymbol table:\n"" identifier = (string_literal ""\nSymbol table:\n"" " escape_sequence string_content escape_sequence ")) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,"\nSymbol table:\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"\nSymbol table:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nSymbol table:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nSymbol table:\n",5)" identifier (argument_list "(0,"\nSymbol table:\n",5)" ( number_literal , (string_literal ""\nSymbol table:\n"" " escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7);" (call_expression "printf(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (if_statement "if (local_44 != 0) {\n      pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\nLAB_000589d0:\n      uVar17 = local_7c;\n      if (((int *)((int)local_4c + local_7c) < local_80) ||\n         ((local_4c < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n        (*byte_get)((uchar *)local_4c,uVar17);\n      }\n      uVar17 = local_7c;\n      if (((int *)((int)local_50 + local_7c) < local_80) ||\n         ((local_64 = piVar11, local_50 < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n        eVar24 = (*byte_get)((uchar *)local_50,uVar17);\n        local_64 = (int *)((int)eVar24 + (int)piVar11);\n      }\n      puVar20 = fetch_indirect_string(in_stack_ffffff64);\n      printf("[%3u] #%08x %s:",local_60,puVar23[local_60],puVar20);\n      local_88 = local_64;\n      local_6c = 0xffffffffffffffff;\n      local_8c = (int *)0xfffffffe;\n      do {\n        while( true ) {\n          dVar25 = read_leb128((uchar *)local_88,&bytes_read,0,(uchar *)local_80);\n          uVar17 = bytes_read;\n          if (local_8c != (int *)0xffffffff) break;\n          local_88 = local_64;\n          local_8c = (int *)0x0;\n          local_6c = dVar25;\n        }\n        if (dVar25 == 0) goto LAB_00058b8d;\n        if (-1 < (int)local_8c) {\n          if (local_8c == (int *)0x0) {\n            puVar13 = &DAT_0007c3bc;\n            if ((int)local_6c != 0 || local_6c._4_4_ != 0) goto LAB_00058d60;\n          }\n          else {\nLAB_00058d60:\n            puVar13 = &DAT_0007bc58;\n          }\n          printf("%s<%lu>",puVar13,(int)dVar25);\n        }\n        if (pdVar1 <= local_74) goto LAB_00058b50;\n        dVar26 = *local_74;\n        pdVar12 = local_74;\n        while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058b50;\n          dVar26 = *pdVar12;\n        }\n        puVar20 = *(uchar **)(pdVar12 + 1);\n        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n        if (-1 < (int)local_8c) {\n          pcVar7 = get_TAG_name((ulong)dVar25);\n          printf(" %s",pcVar7);\n        }\n        local_88 = (int *)((int)local_88 + uVar17);\n        while( true ) {\n          dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          if (dVar25 == 0 && dVar26 == 0) break;\n          if (-1 < (int)local_8c) {\n            pcVar7 = get_DW_IDX_name((uint)dVar25);\n            if (pcVar7 == (char *)0x0) {\n              pcVar7 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n              snprintf(buffer_10366,100,pcVar7,(uint)dVar25);\n              pcVar7 = buffer_10366;\n            }\n            printf(" %s",pcVar7);\n          }\n          local_88 = (int *)read_and_display_attr_value\n                                      (0,(ulong)dVar26,0,(uchar *)local_88,(uchar *)local_80,0,0,\n                                       (ulonglong)local_7c,5,(debug_info *)0x0,\n                                       (uint)local_8c >> 0x1f,(dwarf_section *)0x0,(cu_tu_set *)0x0,\n                                       '=');\n        }\n        local_8c = (int *)((int)local_8c + 1);\n      } while( true );\n    }" if (parenthesized_expression "(local_44 != 0)" ( (binary_expression "local_44 != 0" identifier != number_literal) )) (compound_statement "{\n      pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\nLAB_000589d0:\n      uVar17 = local_7c;\n      if (((int *)((int)local_4c + local_7c) < local_80) ||\n         ((local_4c < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n        (*byte_get)((uchar *)local_4c,uVar17);\n      }\n      uVar17 = local_7c;\n      if (((int *)((int)local_50 + local_7c) < local_80) ||\n         ((local_64 = piVar11, local_50 < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n        eVar24 = (*byte_get)((uchar *)local_50,uVar17);\n        local_64 = (int *)((int)eVar24 + (int)piVar11);\n      }\n      puVar20 = fetch_indirect_string(in_stack_ffffff64);\n      printf("[%3u] #%08x %s:",local_60,puVar23[local_60],puVar20);\n      local_88 = local_64;\n      local_6c = 0xffffffffffffffff;\n      local_8c = (int *)0xfffffffe;\n      do {\n        while( true ) {\n          dVar25 = read_leb128((uchar *)local_88,&bytes_read,0,(uchar *)local_80);\n          uVar17 = bytes_read;\n          if (local_8c != (int *)0xffffffff) break;\n          local_88 = local_64;\n          local_8c = (int *)0x0;\n          local_6c = dVar25;\n        }\n        if (dVar25 == 0) goto LAB_00058b8d;\n        if (-1 < (int)local_8c) {\n          if (local_8c == (int *)0x0) {\n            puVar13 = &DAT_0007c3bc;\n            if ((int)local_6c != 0 || local_6c._4_4_ != 0) goto LAB_00058d60;\n          }\n          else {\nLAB_00058d60:\n            puVar13 = &DAT_0007bc58;\n          }\n          printf("%s<%lu>",puVar13,(int)dVar25);\n        }\n        if (pdVar1 <= local_74) goto LAB_00058b50;\n        dVar26 = *local_74;\n        pdVar12 = local_74;\n        while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058b50;\n          dVar26 = *pdVar12;\n        }\n        puVar20 = *(uchar **)(pdVar12 + 1);\n        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n        if (-1 < (int)local_8c) {\n          pcVar7 = get_TAG_name((ulong)dVar25);\n          printf(" %s",pcVar7);\n        }\n        local_88 = (int *)((int)local_88 + uVar17);\n        while( true ) {\n          dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          if (dVar25 == 0 && dVar26 == 0) break;\n          if (-1 < (int)local_8c) {\n            pcVar7 = get_DW_IDX_name((uint)dVar25);\n            if (pcVar7 == (char *)0x0) {\n              pcVar7 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n              snprintf(buffer_10366,100,pcVar7,(uint)dVar25);\n              pcVar7 = buffer_10366;\n            }\n            printf(" %s",pcVar7);\n          }\n          local_88 = (int *)read_and_display_attr_value\n                                      (0,(ulong)dVar26,0,(uchar *)local_88,(uchar *)local_80,0,0,\n                                       (ulonglong)local_7c,5,(debug_info *)0x0,\n                                       (uint)local_8c >> 0x1f,(dwarf_section *)0x0,(cu_tu_set *)0x0,\n                                       '=');\n        }\n        local_8c = (int *)((int)local_8c + 1);\n      } while( true );\n    }" { (expression_statement "pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc);" (assignment_expression "pdVar1 = (dwarf_vma *)((int)local_74 + (int)local_8c * 0xc)" identifier = (cast_expression "(dwarf_vma *)((int)local_74 + (int)local_8c * 0xc)" ( (type_descriptor "dwarf_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + (int)local_8c * 0xc)" ( (binary_expression "(int)local_74 + (int)local_8c * 0xc" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)local_8c * 0xc" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000589d0:\n      uVar17 = local_7c;" statement_identifier : (expression_statement "uVar17 = local_7c;" (assignment_expression "uVar17 = local_7c" identifier = identifier) ;)) (if_statement "if (((int *)((int)local_4c + local_7c) < local_80) ||\n         ((local_4c < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n        (*byte_get)((uchar *)local_4c,uVar17);\n      }" if (parenthesized_expression "(((int *)((int)local_4c + local_7c) < local_80) ||\n         ((local_4c < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8))))" ( (binary_expression "((int *)((int)local_4c + local_7c) < local_80) ||\n         ((local_4c < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))" (parenthesized_expression "((int *)((int)local_4c + local_7c) < local_80)" ( (binary_expression "(int *)((int)local_4c + local_7c) < local_80" (cast_expression "(int *)((int)local_4c + local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_4c + local_7c)" ( (binary_expression "(int)local_4c + local_7c" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) < identifier) )) || (parenthesized_expression "((local_4c < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))" ( (parenthesized_expression "(local_4c < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8))" ( (binary_expression "local_4c < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)" (binary_expression "local_4c < local_80" identifier < identifier) && (parenthesized_expression "(uVar17 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)" ( (comma_expression "uVar17 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8" (assignment_expression "uVar17 = (int)local_80 - (int)local_4c" identifier = (binary_expression "(int)local_80 - (int)local_4c" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "((int)local_80 - (int)local_4c) - 1U < 8" (binary_expression "((int)local_80 - (int)local_4c) - 1U" (parenthesized_expression "((int)local_80 - (int)local_4c)" ( (binary_expression "(int)local_80 - (int)local_4c" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal)) ))) )) ))) )) (compound_statement "{\n        (*byte_get)((uchar *)local_4c,uVar17);\n      }" { (expression_statement "(*byte_get)((uchar *)local_4c,uVar17);" (call_expression "(*byte_get)((uchar *)local_4c,uVar17)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)local_4c,uVar17)" ( (cast_expression "(uchar *)local_4c" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) })) (expression_statement "uVar17 = local_7c;" (assignment_expression "uVar17 = local_7c" identifier = identifier) ;) (if_statement "if (((int *)((int)local_50 + local_7c) < local_80) ||\n         ((local_64 = piVar11, local_50 < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n        eVar24 = (*byte_get)((uchar *)local_50,uVar17);\n        local_64 = (int *)((int)eVar24 + (int)piVar11);\n      }" if (parenthesized_expression "(((int *)((int)local_50 + local_7c) < local_80) ||\n         ((local_64 = piVar11, local_50 < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8))))" ( (binary_expression "((int *)((int)local_50 + local_7c) < local_80) ||\n         ((local_64 = piVar11, local_50 < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))" (parenthesized_expression "((int *)((int)local_50 + local_7c) < local_80)" ( (binary_expression "(int *)((int)local_50 + local_7c) < local_80" (cast_expression "(int *)((int)local_50 + local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_50 + local_7c)" ( (binary_expression "(int)local_50 + local_7c" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) < identifier) )) || (parenthesized_expression "((local_64 = piVar11, local_50 < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))" ( (parenthesized_expression "(local_64 = piVar11, local_50 < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8))" ( (comma_expression "local_64 = piVar11, local_50 < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)" (assignment_expression "local_64 = piVar11" identifier = identifier) , (binary_expression "local_50 < local_80 &&\n          (uVar17 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)" (binary_expression "local_50 < local_80" identifier < identifier) && (parenthesized_expression "(uVar17 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)" ( (comma_expression "uVar17 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8" (assignment_expression "uVar17 = (int)local_80 - (int)local_50" identifier = (binary_expression "(int)local_80 - (int)local_50" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "((int)local_80 - (int)local_50) - 1U < 8" (binary_expression "((int)local_80 - (int)local_50) - 1U" (parenthesized_expression "((int)local_80 - (int)local_50)" ( (binary_expression "(int)local_80 - (int)local_50" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        eVar24 = (*byte_get)((uchar *)local_50,uVar17);\n        local_64 = (int *)((int)eVar24 + (int)piVar11);\n      }" { (expression_statement "eVar24 = (*byte_get)((uchar *)local_50,uVar17);" (assignment_expression "eVar24 = (*byte_get)((uchar *)local_50,uVar17)" identifier = (call_expression "(*byte_get)((uchar *)local_50,uVar17)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)local_50,uVar17)" ( (cast_expression "(uchar *)local_50" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "local_64 = (int *)((int)eVar24 + (int)piVar11);" (assignment_expression "local_64 = (int *)((int)eVar24 + (int)piVar11)" identifier = (cast_expression "(int *)((int)eVar24 + (int)piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)eVar24 + (int)piVar11)" ( (binary_expression "(int)eVar24 + (int)piVar11" (cast_expression "(int)eVar24" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "puVar20 = fetch_indirect_string(in_stack_ffffff64);" (assignment_expression "puVar20 = fetch_indirect_string(in_stack_ffffff64)" identifier = (call_expression "fetch_indirect_string(in_stack_ffffff64)" identifier (argument_list "(in_stack_ffffff64)" ( identifier )))) ;) (expression_statement "printf("[%3u] #%08x %s:",local_60,puVar23[local_60],puVar20);" (call_expression "printf("[%3u] #%08x %s:",local_60,puVar23[local_60],puVar20)" identifier (argument_list "("[%3u] #%08x %s:",local_60,puVar23[local_60],puVar20)" ( (string_literal ""[%3u] #%08x %s:"" " string_content ") , identifier , (subscript_expression "puVar23[local_60]" identifier [ identifier ]) , identifier ))) ;) (expression_statement "local_88 = local_64;" (assignment_expression "local_88 = local_64" identifier = identifier) ;) (expression_statement "local_6c = 0xffffffffffffffff;" (assignment_expression "local_6c = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "local_8c = (int *)0xfffffffe;" (assignment_expression "local_8c = (int *)0xfffffffe" identifier = (cast_expression "(int *)0xfffffffe" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        while( true ) {\n          dVar25 = read_leb128((uchar *)local_88,&bytes_read,0,(uchar *)local_80);\n          uVar17 = bytes_read;\n          if (local_8c != (int *)0xffffffff) break;\n          local_88 = local_64;\n          local_8c = (int *)0x0;\n          local_6c = dVar25;\n        }\n        if (dVar25 == 0) goto LAB_00058b8d;\n        if (-1 < (int)local_8c) {\n          if (local_8c == (int *)0x0) {\n            puVar13 = &DAT_0007c3bc;\n            if ((int)local_6c != 0 || local_6c._4_4_ != 0) goto LAB_00058d60;\n          }\n          else {\nLAB_00058d60:\n            puVar13 = &DAT_0007bc58;\n          }\n          printf("%s<%lu>",puVar13,(int)dVar25);\n        }\n        if (pdVar1 <= local_74) goto LAB_00058b50;\n        dVar26 = *local_74;\n        pdVar12 = local_74;\n        while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058b50;\n          dVar26 = *pdVar12;\n        }\n        puVar20 = *(uchar **)(pdVar12 + 1);\n        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n        if (-1 < (int)local_8c) {\n          pcVar7 = get_TAG_name((ulong)dVar25);\n          printf(" %s",pcVar7);\n        }\n        local_88 = (int *)((int)local_88 + uVar17);\n        while( true ) {\n          dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          if (dVar25 == 0 && dVar26 == 0) break;\n          if (-1 < (int)local_8c) {\n            pcVar7 = get_DW_IDX_name((uint)dVar25);\n            if (pcVar7 == (char *)0x0) {\n              pcVar7 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n              snprintf(buffer_10366,100,pcVar7,(uint)dVar25);\n              pcVar7 = buffer_10366;\n            }\n            printf(" %s",pcVar7);\n          }\n          local_88 = (int *)read_and_display_attr_value\n                                      (0,(ulong)dVar26,0,(uchar *)local_88,(uchar *)local_80,0,0,\n                                       (ulonglong)local_7c,5,(debug_info *)0x0,\n                                       (uint)local_8c >> 0x1f,(dwarf_section *)0x0,(cu_tu_set *)0x0,\n                                       '=');\n        }\n        local_8c = (int *)((int)local_8c + 1);\n      } while( true );" do (compound_statement "{\n        while( true ) {\n          dVar25 = read_leb128((uchar *)local_88,&bytes_read,0,(uchar *)local_80);\n          uVar17 = bytes_read;\n          if (local_8c != (int *)0xffffffff) break;\n          local_88 = local_64;\n          local_8c = (int *)0x0;\n          local_6c = dVar25;\n        }\n        if (dVar25 == 0) goto LAB_00058b8d;\n        if (-1 < (int)local_8c) {\n          if (local_8c == (int *)0x0) {\n            puVar13 = &DAT_0007c3bc;\n            if ((int)local_6c != 0 || local_6c._4_4_ != 0) goto LAB_00058d60;\n          }\n          else {\nLAB_00058d60:\n            puVar13 = &DAT_0007bc58;\n          }\n          printf("%s<%lu>",puVar13,(int)dVar25);\n        }\n        if (pdVar1 <= local_74) goto LAB_00058b50;\n        dVar26 = *local_74;\n        pdVar12 = local_74;\n        while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058b50;\n          dVar26 = *pdVar12;\n        }\n        puVar20 = *(uchar **)(pdVar12 + 1);\n        dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n        puVar20 = puVar20 + bytes_read;\n        if (-1 < (int)local_8c) {\n          pcVar7 = get_TAG_name((ulong)dVar25);\n          printf(" %s",pcVar7);\n        }\n        local_88 = (int *)((int)local_88 + uVar17);\n        while( true ) {\n          dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          if (dVar25 == 0 && dVar26 == 0) break;\n          if (-1 < (int)local_8c) {\n            pcVar7 = get_DW_IDX_name((uint)dVar25);\n            if (pcVar7 == (char *)0x0) {\n              pcVar7 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n              snprintf(buffer_10366,100,pcVar7,(uint)dVar25);\n              pcVar7 = buffer_10366;\n            }\n            printf(" %s",pcVar7);\n          }\n          local_88 = (int *)read_and_display_attr_value\n                                      (0,(ulong)dVar26,0,(uchar *)local_88,(uchar *)local_80,0,0,\n                                       (ulonglong)local_7c,5,(debug_info *)0x0,\n                                       (uint)local_8c >> 0x1f,(dwarf_section *)0x0,(cu_tu_set *)0x0,\n                                       '=');\n        }\n        local_8c = (int *)((int)local_8c + 1);\n      }" { (while_statement "while( true ) {\n          dVar25 = read_leb128((uchar *)local_88,&bytes_read,0,(uchar *)local_80);\n          uVar17 = bytes_read;\n          if (local_8c != (int *)0xffffffff) break;\n          local_88 = local_64;\n          local_8c = (int *)0x0;\n          local_6c = dVar25;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          dVar25 = read_leb128((uchar *)local_88,&bytes_read,0,(uchar *)local_80);\n          uVar17 = bytes_read;\n          if (local_8c != (int *)0xffffffff) break;\n          local_88 = local_64;\n          local_8c = (int *)0x0;\n          local_6c = dVar25;\n        }" { (expression_statement "dVar25 = read_leb128((uchar *)local_88,&bytes_read,0,(uchar *)local_80);" (assignment_expression "dVar25 = read_leb128((uchar *)local_88,&bytes_read,0,(uchar *)local_80)" identifier = (call_expression "read_leb128((uchar *)local_88,&bytes_read,0,(uchar *)local_80)" identifier (argument_list "((uchar *)local_88,&bytes_read,0,(uchar *)local_80)" ( (cast_expression "(uchar *)local_88" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&bytes_read" & identifier) , number_literal , (cast_expression "(uchar *)local_80" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "uVar17 = bytes_read;" (assignment_expression "uVar17 = bytes_read" identifier = identifier) ;) (if_statement "if (local_8c != (int *)0xffffffff) break;" if (parenthesized_expression "(local_8c != (int *)0xffffffff)" ( (binary_expression "local_8c != (int *)0xffffffff" identifier != (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "local_88 = local_64;" (assignment_expression "local_88 = local_64" identifier = identifier) ;) (expression_statement "local_8c = (int *)0x0;" (assignment_expression "local_8c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_6c = dVar25;" (assignment_expression "local_6c = dVar25" identifier = identifier) ;) })) (if_statement "if (dVar25 == 0) goto LAB_00058b8d;" if (parenthesized_expression "(dVar25 == 0)" ( (binary_expression "dVar25 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00058b8d;" goto statement_identifier ;)) (if_statement "if (-1 < (int)local_8c) {\n          if (local_8c == (int *)0x0) {\n            puVar13 = &DAT_0007c3bc;\n            if ((int)local_6c != 0 || local_6c._4_4_ != 0) goto LAB_00058d60;\n          }\n          else {\nLAB_00058d60:\n            puVar13 = &DAT_0007bc58;\n          }\n          printf("%s<%lu>",puVar13,(int)dVar25);\n        }" if (parenthesized_expression "(-1 < (int)local_8c)" ( (binary_expression "-1 < (int)local_8c" number_literal < (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          if (local_8c == (int *)0x0) {\n            puVar13 = &DAT_0007c3bc;\n            if ((int)local_6c != 0 || local_6c._4_4_ != 0) goto LAB_00058d60;\n          }\n          else {\nLAB_00058d60:\n            puVar13 = &DAT_0007bc58;\n          }\n          printf("%s<%lu>",puVar13,(int)dVar25);\n        }" { (if_statement "if (local_8c == (int *)0x0) {\n            puVar13 = &DAT_0007c3bc;\n            if ((int)local_6c != 0 || local_6c._4_4_ != 0) goto LAB_00058d60;\n          }\n          else {\nLAB_00058d60:\n            puVar13 = &DAT_0007bc58;\n          }" if (parenthesized_expression "(local_8c == (int *)0x0)" ( (binary_expression "local_8c == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar13 = &DAT_0007c3bc;\n            if ((int)local_6c != 0 || local_6c._4_4_ != 0) goto LAB_00058d60;\n          }" { (expression_statement "puVar13 = &DAT_0007c3bc;" (assignment_expression "puVar13 = &DAT_0007c3bc" identifier = (pointer_expression "&DAT_0007c3bc" & identifier)) ;) (if_statement "if ((int)local_6c != 0 || local_6c._4_4_ != 0) goto LAB_00058d60;" if (parenthesized_expression "((int)local_6c != 0 || local_6c._4_4_ != 0)" ( (binary_expression "(int)local_6c != 0 || local_6c._4_4_ != 0" (binary_expression "(int)local_6c != 0" (cast_expression "(int)local_6c" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) || (binary_expression "local_6c._4_4_ != 0" (field_expression "local_6c._4_4_" identifier . field_identifier) != number_literal)) )) (goto_statement "goto LAB_00058d60;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_00058d60:\n            puVar13 = &DAT_0007bc58;\n          }" else (compound_statement "{\nLAB_00058d60:\n            puVar13 = &DAT_0007bc58;\n          }" { (labeled_statement "LAB_00058d60:\n            puVar13 = &DAT_0007bc58;" statement_identifier : (expression_statement "puVar13 = &DAT_0007bc58;" (assignment_expression "puVar13 = &DAT_0007bc58" identifier = (pointer_expression "&DAT_0007bc58" & identifier)) ;)) }))) (expression_statement "printf("%s<%lu>",puVar13,(int)dVar25);" (call_expression "printf("%s<%lu>",puVar13,(int)dVar25)" identifier (argument_list "("%s<%lu>",puVar13,(int)dVar25)" ( (string_literal ""%s<%lu>"" " string_content ") , identifier , (cast_expression "(int)dVar25" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) (if_statement "if (pdVar1 <= local_74) goto LAB_00058b50;" if (parenthesized_expression "(pdVar1 <= local_74)" ( (binary_expression "pdVar1 <= local_74" identifier <= identifier) )) (goto_statement "goto LAB_00058b50;" goto statement_identifier ;)) (expression_statement "dVar26 = *local_74;" (assignment_expression "dVar26 = *local_74" identifier = (pointer_expression "*local_74" * identifier)) ;) (expression_statement "pdVar12 = local_74;" (assignment_expression "pdVar12 = local_74" identifier = identifier) ;) (while_statement "while (dVar25 != dVar26) {\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058b50;\n          dVar26 = *pdVar12;\n        }" while (parenthesized_expression "(dVar25 != dVar26)" ( (binary_expression "dVar25 != dVar26" identifier != identifier) )) (compound_statement "{\n          pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);\n          if (pdVar1 <= pdVar12) goto LAB_00058b50;\n          dVar26 = *pdVar12;\n        }" { (expression_statement "pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc);" (assignment_expression "pdVar12 = (dwarf_vma *)((int)pdVar12 + 0xc)" identifier = (cast_expression "(dwarf_vma *)((int)pdVar12 + 0xc)" ( (type_descriptor "dwarf_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar12 + 0xc)" ( (binary_expression "(int)pdVar12 + 0xc" (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (pdVar1 <= pdVar12) goto LAB_00058b50;" if (parenthesized_expression "(pdVar1 <= pdVar12)" ( (binary_expression "pdVar1 <= pdVar12" identifier <= identifier) )) (goto_statement "goto LAB_00058b50;" goto statement_identifier ;)) (expression_statement "dVar26 = *pdVar12;" (assignment_expression "dVar26 = *pdVar12" identifier = (pointer_expression "*pdVar12" * identifier)) ;) })) (expression_statement "puVar20 = *(uchar **)(pdVar12 + 1);" (assignment_expression "puVar20 = *(uchar **)(pdVar12 + 1)" identifier = (pointer_expression "*(uchar **)(pdVar12 + 1)" * (cast_expression "(uchar **)(pdVar12 + 1)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pdVar12 + 1)" ( (binary_expression "pdVar12 + 1" identifier + number_literal) ))))) ;) (expression_statement "dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);" (assignment_expression "dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11)" identifier = (call_expression "read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11)" identifier (argument_list "(puVar20,&bytes_read,0,(uchar *)piVar11)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , (cast_expression "(uchar *)piVar11" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "puVar20 = puVar20 + bytes_read;" (assignment_expression "puVar20 = puVar20 + bytes_read" identifier = (binary_expression "puVar20 + bytes_read" identifier + identifier)) ;) (if_statement "if (-1 < (int)local_8c) {\n          pcVar7 = get_TAG_name((ulong)dVar25);\n          printf(" %s",pcVar7);\n        }" if (parenthesized_expression "(-1 < (int)local_8c)" ( (binary_expression "-1 < (int)local_8c" number_literal < (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pcVar7 = get_TAG_name((ulong)dVar25);\n          printf(" %s",pcVar7);\n        }" { (expression_statement "pcVar7 = get_TAG_name((ulong)dVar25);" (assignment_expression "pcVar7 = get_TAG_name((ulong)dVar25)" identifier = (call_expression "get_TAG_name((ulong)dVar25)" identifier (argument_list "((ulong)dVar25)" ( (cast_expression "(ulong)dVar25" ( (type_descriptor "ulong" type_identifier) ) identifier) )))) ;) (expression_statement "printf(" %s",pcVar7);" (call_expression "printf(" %s",pcVar7)" identifier (argument_list "(" %s",pcVar7)" ( (string_literal "" %s"" " string_content ") , identifier ))) ;) })) (expression_statement "local_88 = (int *)((int)local_88 + uVar17);" (assignment_expression "local_88 = (int *)((int)local_88 + uVar17)" identifier = (cast_expression "(int *)((int)local_88 + uVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_88 + uVar17)" ( (binary_expression "(int)local_88 + uVar17" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (while_statement "while( true ) {\n          dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          if (dVar25 == 0 && dVar26 == 0) break;\n          if (-1 < (int)local_8c) {\n            pcVar7 = get_DW_IDX_name((uint)dVar25);\n            if (pcVar7 == (char *)0x0) {\n              pcVar7 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n              snprintf(buffer_10366,100,pcVar7,(uint)dVar25);\n              pcVar7 = buffer_10366;\n            }\n            printf(" %s",pcVar7);\n          }\n          local_88 = (int *)read_and_display_attr_value\n                                      (0,(ulong)dVar26,0,(uchar *)local_88,(uchar *)local_80,0,0,\n                                       (ulonglong)local_7c,5,(debug_info *)0x0,\n                                       (uint)local_8c >> 0x1f,(dwarf_section *)0x0,(cu_tu_set *)0x0,\n                                       '=');\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);\n          puVar20 = puVar20 + bytes_read;\n          if (dVar25 == 0 && dVar26 == 0) break;\n          if (-1 < (int)local_8c) {\n            pcVar7 = get_DW_IDX_name((uint)dVar25);\n            if (pcVar7 == (char *)0x0) {\n              pcVar7 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n              snprintf(buffer_10366,100,pcVar7,(uint)dVar25);\n              pcVar7 = buffer_10366;\n            }\n            printf(" %s",pcVar7);\n          }\n          local_88 = (int *)read_and_display_attr_value\n                                      (0,(ulong)dVar26,0,(uchar *)local_88,(uchar *)local_80,0,0,\n                                       (ulonglong)local_7c,5,(debug_info *)0x0,\n                                       (uint)local_8c >> 0x1f,(dwarf_section *)0x0,(cu_tu_set *)0x0,\n                                       '=');\n        }" { (expression_statement "dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);" (assignment_expression "dVar25 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11)" identifier = (call_expression "read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11)" identifier (argument_list "(puVar20,&bytes_read,0,(uchar *)piVar11)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , (cast_expression "(uchar *)piVar11" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "puVar20 = puVar20 + bytes_read;" (assignment_expression "puVar20 = puVar20 + bytes_read" identifier = (binary_expression "puVar20 + bytes_read" identifier + identifier)) ;) (expression_statement "dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11);" (assignment_expression "dVar26 = read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11)" identifier = (call_expression "read_leb128(puVar20,&bytes_read,0,(uchar *)piVar11)" identifier (argument_list "(puVar20,&bytes_read,0,(uchar *)piVar11)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , (cast_expression "(uchar *)piVar11" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "puVar20 = puVar20 + bytes_read;" (assignment_expression "puVar20 = puVar20 + bytes_read" identifier = (binary_expression "puVar20 + bytes_read" identifier + identifier)) ;) (if_statement "if (dVar25 == 0 && dVar26 == 0) break;" if (parenthesized_expression "(dVar25 == 0 && dVar26 == 0)" ( (binary_expression "dVar25 == 0 && dVar26 == 0" (binary_expression "dVar25 == 0" identifier == number_literal) && (binary_expression "dVar26 == 0" identifier == number_literal)) )) (break_statement "break;" break ;)) (if_statement "if (-1 < (int)local_8c) {\n            pcVar7 = get_DW_IDX_name((uint)dVar25);\n            if (pcVar7 == (char *)0x0) {\n              pcVar7 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n              snprintf(buffer_10366,100,pcVar7,(uint)dVar25);\n              pcVar7 = buffer_10366;\n            }\n            printf(" %s",pcVar7);\n          }" if (parenthesized_expression "(-1 < (int)local_8c)" ( (binary_expression "-1 < (int)local_8c" number_literal < (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pcVar7 = get_DW_IDX_name((uint)dVar25);\n            if (pcVar7 == (char *)0x0) {\n              pcVar7 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n              snprintf(buffer_10366,100,pcVar7,(uint)dVar25);\n              pcVar7 = buffer_10366;\n            }\n            printf(" %s",pcVar7);\n          }" { (expression_statement "pcVar7 = get_DW_IDX_name((uint)dVar25);" (assignment_expression "pcVar7 = get_DW_IDX_name((uint)dVar25)" identifier = (call_expression "get_DW_IDX_name((uint)dVar25)" identifier (argument_list "((uint)dVar25)" ( (cast_expression "(uint)dVar25" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (if_statement "if (pcVar7 == (char *)0x0) {\n              pcVar7 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n              snprintf(buffer_10366,100,pcVar7,(uint)dVar25);\n              pcVar7 = buffer_10366;\n            }" if (parenthesized_expression "(pcVar7 == (char *)0x0)" ( (binary_expression "pcVar7 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pcVar7 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n              snprintf(buffer_10366,100,pcVar7,(uint)dVar25);\n              pcVar7 = buffer_10366;\n            }" { (expression_statement "pcVar7 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Unknown IDX value: %lx",5)" identifier = (cast_expression "(char *)dcgettext(0,"Unknown IDX value: %lx",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Unknown IDX value: %lx",5)" identifier (argument_list "(0,"Unknown IDX value: %lx",5)" ( number_literal , (string_literal ""Unknown IDX value: %lx"" " string_content ") , number_literal ))))) ;) (expression_statement "snprintf(buffer_10366,100,pcVar7,(uint)dVar25);" (call_expression "snprintf(buffer_10366,100,pcVar7,(uint)dVar25)" identifier (argument_list "(buffer_10366,100,pcVar7,(uint)dVar25)" ( identifier , number_literal , identifier , (cast_expression "(uint)dVar25" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (expression_statement "pcVar7 = buffer_10366;" (assignment_expression "pcVar7 = buffer_10366" identifier = identifier) ;) })) (expression_statement "printf(" %s",pcVar7);" (call_expression "printf(" %s",pcVar7)" identifier (argument_list "(" %s",pcVar7)" ( (string_literal "" %s"" " string_content ") , identifier ))) ;) })) (expression_statement "local_88 = (int *)read_and_display_attr_value\n                                      (0,(ulong)dVar26,0,(uchar *)local_88,(uchar *)local_80,0,0,\n                                       (ulonglong)local_7c,5,(debug_info *)0x0,\n                                       (uint)local_8c >> 0x1f,(dwarf_section *)0x0,(cu_tu_set *)0x0,\n                                       '=');" (assignment_expression "local_88 = (int *)read_and_display_attr_value\n                                      (0,(ulong)dVar26,0,(uchar *)local_88,(uchar *)local_80,0,0,\n                                       (ulonglong)local_7c,5,(debug_info *)0x0,\n                                       (uint)local_8c >> 0x1f,(dwarf_section *)0x0,(cu_tu_set *)0x0,\n                                       '=')" identifier = (cast_expression "(int *)read_and_display_attr_value\n                                      (0,(ulong)dVar26,0,(uchar *)local_88,(uchar *)local_80,0,0,\n                                       (ulonglong)local_7c,5,(debug_info *)0x0,\n                                       (uint)local_8c >> 0x1f,(dwarf_section *)0x0,(cu_tu_set *)0x0,\n                                       '=')" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "read_and_display_attr_value\n                                      (0,(ulong)dVar26,0,(uchar *)local_88,(uchar *)local_80,0,0,\n                                       (ulonglong)local_7c,5,(debug_info *)0x0,\n                                       (uint)local_8c >> 0x1f,(dwarf_section *)0x0,(cu_tu_set *)0x0,\n                                       '=')" identifier (argument_list "(0,(ulong)dVar26,0,(uchar *)local_88,(uchar *)local_80,0,0,\n                                       (ulonglong)local_7c,5,(debug_info *)0x0,\n                                       (uint)local_8c >> 0x1f,(dwarf_section *)0x0,(cu_tu_set *)0x0,\n                                       '=')" ( number_literal , (cast_expression "(ulong)dVar26" ( (type_descriptor "ulong" type_identifier) ) identifier) , number_literal , (cast_expression "(uchar *)local_88" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(uchar *)local_80" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , number_literal , (cast_expression "(ulonglong)local_7c" ( (type_descriptor "ulonglong" type_identifier) ) identifier) , number_literal , (cast_expression "(debug_info *)0x0" ( (type_descriptor "debug_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (binary_expression "(uint)local_8c >> 0x1f" (cast_expression "(uint)local_8c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) , (cast_expression "(dwarf_section *)0x0" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(cu_tu_set *)0x0" ( (type_descriptor "cu_tu_set *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (char_literal "'='" ' character ') ))))) ;) })) (expression_statement "local_8c = (int *)((int)local_8c + 1);" (assignment_expression "local_8c = (int *)((int)local_8c + 1)" identifier = (cast_expression "(int *)((int)local_8c + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c + 1)" ( (binary_expression "(int)local_8c + 1" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (labeled_statement "LAB_00058bc3:\n    free(local_74);" statement_identifier : (expression_statement "free(local_74);" (call_expression "free(local_74)" identifier (argument_list "(local_74)" ( identifier ))) ;)) (expression_statement "piVar2 = local_80;" (assignment_expression "piVar2 = local_80" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (labeled_statement "LAB_00058b50:\n  puVar20 = section->start;" statement_identifier : (expression_statement "puVar20 = section->start;" (assignment_expression "puVar20 = section->start" identifier = (field_expression "section->start" identifier -> field_identifier)) ;)) (expression_statement "pcVar7 = (char *)dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5\n                            );" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5\n                            )" identifier = (cast_expression "(char *)dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5\n                            )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5\n                            )" identifier (argument_list "(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5\n                            )" ( number_literal , (string_literal ""Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar20);" (call_expression "warn(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar20)" identifier (argument_list "(pcVar7,(int)dVar25,(int)piVar2 - (int)puVar20)" ( identifier , (cast_expression "(int)dVar25" ( (type_descriptor "int" primitive_type) ) identifier) , (binary_expression "(int)piVar2 - (int)puVar20" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (labeled_statement "LAB_00058b8d:\n  if ((int)local_8c < 1) {\n    pcVar7 = (char *)dcgettext(0," <no entries>",5);\n    printf(pcVar7);\n  }" statement_identifier : (if_statement "if ((int)local_8c < 1) {\n    pcVar7 = (char *)dcgettext(0," <no entries>",5);\n    printf(pcVar7);\n  }" if (parenthesized_expression "((int)local_8c < 1)" ( (binary_expression "(int)local_8c < 1" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    pcVar7 = (char *)dcgettext(0," <no entries>",5);\n    printf(pcVar7);\n  }" { (expression_statement "pcVar7 = (char *)dcgettext(0," <no entries>",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0," <no entries>",5)" identifier = (cast_expression "(char *)dcgettext(0," <no entries>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," <no entries>",5)" identifier (argument_list "(0," <no entries>",5)" ( number_literal , (string_literal "" <no entries>"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar7);" (call_expression "printf(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) }))) (expression_statement "in_stack_ffffff58 = *(char **)puVar4;" (assignment_expression "in_stack_ffffff58 = *(char **)puVar4" identifier = (pointer_expression "*(char **)puVar4" * (cast_expression "(char **)puVar4" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "putc(10,(FILE *)in_stack_ffffff58);" (call_expression "putc(10,(FILE *)in_stack_ffffff58)" identifier (argument_list "(10,(FILE *)in_stack_ffffff58)" ( number_literal , (cast_expression "(FILE *)in_stack_ffffff58" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" identifier = (binary_expression "local_60 + 1" identifier + number_literal)) ;) (expression_statement "local_50 = (int *)((int)local_50 + local_7c);" (assignment_expression "local_50 = (int *)((int)local_50 + local_7c)" identifier = (cast_expression "(int *)((int)local_50 + local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_50 + local_7c)" ( (binary_expression "(int)local_50 + local_7c" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "local_4c = (int *)((int)local_4c + local_7c);" (assignment_expression "local_4c = (int *)((int)local_4c + local_7c)" identifier = (cast_expression "(int *)((int)local_4c + local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_4c + local_7c)" ( (binary_expression "(int)local_4c + local_7c" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if (local_60 == local_44) goto LAB_00058bc3;" if (parenthesized_expression "(local_60 == local_44)" ( (binary_expression "local_60 == local_44" identifier == identifier) )) (goto_statement "goto LAB_00058bc3;" goto statement_identifier ;)) (goto_statement "goto LAB_000589d0;" goto statement_identifier ;) })))
(translation_unit "undefined4 FUN_00057f30(int param_1)\n\n{\n  longlong *plVar1;\n  int *piVar2;\n  uint uVar3;\n  ulonglong uVar4;\n  longlong lVar5;\n  undefined *puVar6;\n  ushort uVar7;\n  short sVar8;\n  int iVar9;\n  char *pcVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int *piVar15;\n  int *piVar16;\n  longlong *plVar17;\n  undefined *puVar18;\n  uint *puVar19;\n  int iVar20;\n  uint uVar21;\n  int *piVar22;\n  int *piVar23;\n  uint *puVar24;\n  longlong lVar25;\n  undefined8 uVar26;\n  undefined8 uVar27;\n  longlong lVar28;\n  int local_94;\n  int *local_8c;\n  int *local_88;\n  int *local_80;\n  int local_7c;\n  int local_78;\n  longlong *local_74;\n  uint local_70;\n  int local_6c;\n  int local_68;\n  int *local_64;\n  int local_60;\n  int *local_50;\n  int *local_4c;\n  int local_44;\n  int local_20 [4];\n  \n  piVar2 = *(int **)(param_1 + 0x10);\n  piVar23 = (int *)((int)piVar2 + *(int *)(param_1 + 0x1c));\n  FUN_0004eb10();\n  FUN_0004e110();\n  do {\n    if (piVar23 <= piVar2) {\n      return 1;\n    }\n    piVar16 = piVar2 + 1;\n    piVar15 = piVar16;\n    if (piVar16 < piVar23) {\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }\n    uVar14 = (uint)(uVar4 >> 0x20);\n    if (*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }\n    piVar16 = (int *)((int)piVar15 + 2);\n    if (piVar16 < local_80) {\n      iVar9 = 2;\n    }\n    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }\n    uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);\n    pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar10,(uint)uVar7);\n    if (uVar7 != 5) {\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }\n    piVar22 = piVar15 + 1;\n    if (piVar22 < local_80) {\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }\n    piVar22 = piVar15 + 2;\n    piVar16 = piVar15 + 3;\n    if (piVar16 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }\n    else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }\n    puVar6 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar10);\n    if (local_88 != (int *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar10);\n    if (local_78 != 0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar10);\n    if (local_74 != (longlong *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }\n    putc(10,*(FILE **)puVar6);\n    puVar24 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar24);\n    local_50 = (int *)((int)local_4c + local_68);\n    local_68 = local_68 + (int)local_50;\n    piVar16 = (int *)(local_6c + local_68);\n    if (local_80 < piVar16) {\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }\n    pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5);\n    printf(pcVar10,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5);\n    printf(pcVar10,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    \n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (longlong *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    \n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }\n    pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar10);\n    if (local_44 != 0) {\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }\n    free(local_74);\n    piVar2 = local_80;\n  } while( true );\n}\n\n" (function_definition "undefined4 FUN_00057f30(int param_1)\n\n{\n  longlong *plVar1;\n  int *piVar2;\n  uint uVar3;\n  ulonglong uVar4;\n  longlong lVar5;\n  undefined *puVar6;\n  ushort uVar7;\n  short sVar8;\n  int iVar9;\n  char *pcVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int *piVar15;\n  int *piVar16;\n  longlong *plVar17;\n  undefined *puVar18;\n  uint *puVar19;\n  int iVar20;\n  uint uVar21;\n  int *piVar22;\n  int *piVar23;\n  uint *puVar24;\n  longlong lVar25;\n  undefined8 uVar26;\n  undefined8 uVar27;\n  longlong lVar28;\n  int local_94;\n  int *local_8c;\n  int *local_88;\n  int *local_80;\n  int local_7c;\n  int local_78;\n  longlong *local_74;\n  uint local_70;\n  int local_6c;\n  int local_68;\n  int *local_64;\n  int local_60;\n  int *local_50;\n  int *local_4c;\n  int local_44;\n  int local_20 [4];\n  \n  piVar2 = *(int **)(param_1 + 0x10);\n  piVar23 = (int *)((int)piVar2 + *(int *)(param_1 + 0x1c));\n  FUN_0004eb10();\n  FUN_0004e110();\n  do {\n    if (piVar23 <= piVar2) {\n      return 1;\n    }\n    piVar16 = piVar2 + 1;\n    piVar15 = piVar16;\n    if (piVar16 < piVar23) {\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }\n    uVar14 = (uint)(uVar4 >> 0x20);\n    if (*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }\n    piVar16 = (int *)((int)piVar15 + 2);\n    if (piVar16 < local_80) {\n      iVar9 = 2;\n    }\n    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }\n    uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);\n    pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar10,(uint)uVar7);\n    if (uVar7 != 5) {\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }\n    piVar22 = piVar15 + 1;\n    if (piVar22 < local_80) {\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }\n    piVar22 = piVar15 + 2;\n    piVar16 = piVar15 + 3;\n    if (piVar16 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }\n    else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }\n    puVar6 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar10);\n    if (local_88 != (int *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar10);\n    if (local_78 != 0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar10);\n    if (local_74 != (longlong *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }\n    putc(10,*(FILE **)puVar6);\n    puVar24 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar24);\n    local_50 = (int *)((int)local_4c + local_68);\n    local_68 = local_68 + (int)local_50;\n    piVar16 = (int *)(local_6c + local_68);\n    if (local_80 < piVar16) {\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }\n    pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5);\n    printf(pcVar10,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5);\n    printf(pcVar10,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    \n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (longlong *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    \n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }\n    pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar10);\n    if (local_44 != 0) {\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }\n    free(local_74);\n    piVar2 = local_80;\n  } while( true );\n}" type_identifier (function_declarator "FUN_00057f30(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  longlong *plVar1;\n  int *piVar2;\n  uint uVar3;\n  ulonglong uVar4;\n  longlong lVar5;\n  undefined *puVar6;\n  ushort uVar7;\n  short sVar8;\n  int iVar9;\n  char *pcVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int *piVar15;\n  int *piVar16;\n  longlong *plVar17;\n  undefined *puVar18;\n  uint *puVar19;\n  int iVar20;\n  uint uVar21;\n  int *piVar22;\n  int *piVar23;\n  uint *puVar24;\n  longlong lVar25;\n  undefined8 uVar26;\n  undefined8 uVar27;\n  longlong lVar28;\n  int local_94;\n  int *local_8c;\n  int *local_88;\n  int *local_80;\n  int local_7c;\n  int local_78;\n  longlong *local_74;\n  uint local_70;\n  int local_6c;\n  int local_68;\n  int *local_64;\n  int local_60;\n  int *local_50;\n  int *local_4c;\n  int local_44;\n  int local_20 [4];\n  \n  piVar2 = *(int **)(param_1 + 0x10);\n  piVar23 = (int *)((int)piVar2 + *(int *)(param_1 + 0x1c));\n  FUN_0004eb10();\n  FUN_0004e110();\n  do {\n    if (piVar23 <= piVar2) {\n      return 1;\n    }\n    piVar16 = piVar2 + 1;\n    piVar15 = piVar16;\n    if (piVar16 < piVar23) {\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }\n    uVar14 = (uint)(uVar4 >> 0x20);\n    if (*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }\n    piVar16 = (int *)((int)piVar15 + 2);\n    if (piVar16 < local_80) {\n      iVar9 = 2;\n    }\n    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }\n    uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);\n    pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar10,(uint)uVar7);\n    if (uVar7 != 5) {\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }\n    piVar22 = piVar15 + 1;\n    if (piVar22 < local_80) {\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }\n    piVar22 = piVar15 + 2;\n    piVar16 = piVar15 + 3;\n    if (piVar16 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }\n    else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }\n    puVar6 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar10);\n    if (local_88 != (int *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar10);\n    if (local_78 != 0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar10);\n    if (local_74 != (longlong *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }\n    putc(10,*(FILE **)puVar6);\n    puVar24 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar24);\n    local_50 = (int *)((int)local_4c + local_68);\n    local_68 = local_68 + (int)local_50;\n    piVar16 = (int *)(local_6c + local_68);\n    if (local_80 < piVar16) {\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }\n    pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5);\n    printf(pcVar10,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5);\n    printf(pcVar10,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    \n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (longlong *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    \n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }\n    pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar10);\n    if (local_44 != 0) {\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }\n    free(local_74);\n    piVar2 = local_80;\n  } while( true );\n}" { (declaration "longlong *plVar1;" type_identifier (pointer_declarator "*plVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "ulonglong uVar4;" type_identifier identifier ;) (declaration "longlong lVar5;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "ushort uVar7;" type_identifier identifier ;) (declaration "short sVar8;" (sized_type_specifier "short" short) identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "longlong *plVar17;" type_identifier (pointer_declarator "*plVar17" * identifier) ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "uint *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "uint *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "longlong lVar25;" type_identifier identifier ;) (declaration "undefined8 uVar26;" type_identifier identifier ;) (declaration "undefined8 uVar27;" type_identifier identifier ;) (declaration "longlong lVar28;" type_identifier identifier ;) (declaration "int local_94;" primitive_type identifier ;) (declaration "int *local_8c;" primitive_type (pointer_declarator "*local_8c" * identifier) ;) (declaration "int *local_88;" primitive_type (pointer_declarator "*local_88" * identifier) ;) (declaration "int *local_80;" primitive_type (pointer_declarator "*local_80" * identifier) ;) (declaration "int local_7c;" primitive_type identifier ;) (declaration "int local_78;" primitive_type identifier ;) (declaration "longlong *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "int local_6c;" primitive_type identifier ;) (declaration "int local_68;" primitive_type identifier ;) (declaration "int *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "int *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "int *local_4c;" primitive_type (pointer_declarator "*local_4c" * identifier) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_20 [4];" primitive_type (array_declarator "local_20 [4]" identifier [ number_literal ]) ;) (expression_statement "piVar2 = *(int **)(param_1 + 0x10);" (assignment_expression "piVar2 = *(int **)(param_1 + 0x10)" identifier = (pointer_expression "*(int **)(param_1 + 0x10)" * (cast_expression "(int **)(param_1 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "piVar23 = (int *)((int)piVar2 + *(int *)(param_1 + 0x1c));" (assignment_expression "piVar23 = (int *)((int)piVar2 + *(int *)(param_1 + 0x1c))" identifier = (cast_expression "(int *)((int)piVar2 + *(int *)(param_1 + 0x1c))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + *(int *)(param_1 + 0x1c))" ( (binary_expression "(int)piVar2 + *(int *)(param_1 + 0x1c)" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) )))) ;) (expression_statement "FUN_0004eb10();" (call_expression "FUN_0004eb10()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004e110();" (call_expression "FUN_0004e110()" identifier (argument_list "()" ( ))) ;) (do_statement "do {\n    if (piVar23 <= piVar2) {\n      return 1;\n    }\n    piVar16 = piVar2 + 1;\n    piVar15 = piVar16;\n    if (piVar16 < piVar23) {\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }\n    uVar14 = (uint)(uVar4 >> 0x20);\n    if (*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }\n    piVar16 = (int *)((int)piVar15 + 2);\n    if (piVar16 < local_80) {\n      iVar9 = 2;\n    }\n    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }\n    uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);\n    pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar10,(uint)uVar7);\n    if (uVar7 != 5) {\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }\n    piVar22 = piVar15 + 1;\n    if (piVar22 < local_80) {\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }\n    piVar22 = piVar15 + 2;\n    piVar16 = piVar15 + 3;\n    if (piVar16 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }\n    else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }\n    puVar6 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar10);\n    if (local_88 != (int *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar10);\n    if (local_78 != 0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar10);\n    if (local_74 != (longlong *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }\n    putc(10,*(FILE **)puVar6);\n    puVar24 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar24);\n    local_50 = (int *)((int)local_4c + local_68);\n    local_68 = local_68 + (int)local_50;\n    piVar16 = (int *)(local_6c + local_68);\n    if (local_80 < piVar16) {\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }\n    pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5);\n    printf(pcVar10,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5);\n    printf(pcVar10,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    \n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (longlong *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    \n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }\n    pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar10);\n    if (local_44 != 0) {\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }\n    free(local_74);\n    piVar2 = local_80;\n  } while( true );" do (compound_statement "{\n    if (piVar23 <= piVar2) {\n      return 1;\n    }\n    piVar16 = piVar2 + 1;\n    piVar15 = piVar16;\n    if (piVar16 < piVar23) {\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }\n    uVar14 = (uint)(uVar4 >> 0x20);\n    if (*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }\n    piVar16 = (int *)((int)piVar15 + 2);\n    if (piVar16 < local_80) {\n      iVar9 = 2;\n    }\n    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }\n    uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);\n    pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar10,(uint)uVar7);\n    if (uVar7 != 5) {\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }\n    piVar22 = piVar15 + 1;\n    if (piVar22 < local_80) {\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }\n    piVar22 = piVar15 + 2;\n    piVar16 = piVar15 + 3;\n    if (piVar16 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }\n    else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }\n    puVar6 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar10);\n    if (local_88 != (int *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar10);\n    if (local_78 != 0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar10);\n    if (local_74 != (longlong *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }\n    putc(10,*(FILE **)puVar6);\n    puVar24 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar24);\n    local_50 = (int *)((int)local_4c + local_68);\n    local_68 = local_68 + (int)local_50;\n    piVar16 = (int *)(local_6c + local_68);\n    if (local_80 < piVar16) {\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }\n    pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5);\n    printf(pcVar10,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5);\n    printf(pcVar10,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    \n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (longlong *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    \n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }\n    pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar10);\n    if (local_44 != 0) {\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }\n    free(local_74);\n    piVar2 = local_80;\n  }" { (if_statement "if (piVar23 <= piVar2) {\n      return 1;\n    }" if (parenthesized_expression "(piVar23 <= piVar2)" ( (binary_expression "piVar23 <= piVar2" identifier <= identifier) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "piVar16 = piVar2 + 1;" (assignment_expression "piVar16 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) (expression_statement "piVar15 = piVar16;" (assignment_expression "piVar15 = piVar16" identifier = identifier) ;) (if_statement "if (piVar16 < piVar23) {\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }" if (parenthesized_expression "(piVar16 < piVar23)" ( (binary_expression "piVar16 < piVar23" identifier < identifier) )) (compound_statement "{\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }" { (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);" statement_identifier : (expression_statement "lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);" (assignment_expression "lVar25 = (*DAT_000b9dd4)(piVar2,iVar9)" identifier = (call_expression "(*DAT_000b9dd4)(piVar2,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar2,iVar9)" ( identifier , identifier )))) ;)) (expression_statement "local_7c = 4;" (assignment_expression "local_7c = 4" identifier = number_literal) ;) (if_statement "if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }" if (parenthesized_expression "(lVar25 == 0xffffffff)" ( (binary_expression "lVar25 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }" { (expression_statement "piVar15 = piVar2 + 3;" (assignment_expression "piVar15 = piVar2 + 3" identifier = (binary_expression "piVar2 + 3" identifier + number_literal)) ;) (if_statement "if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }" if (parenthesized_expression "(piVar15 < piVar23)" ( (binary_expression "piVar15 < piVar23" identifier < identifier) )) (compound_statement "{\n          iVar9 = 8;\n        }" { (expression_statement "iVar9 = 8;" (assignment_expression "iVar9 = 8" identifier = number_literal) ;) }) (else_clause "else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }" else (if_statement "if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }" if (parenthesized_expression "((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U))" ( (binary_expression "(piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)" (parenthesized_expression "(piVar23 <= piVar16)" ( (binary_expression "piVar23 <= piVar16" identifier <= identifier) )) || (parenthesized_expression "(iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)" ( (comma_expression "iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U" (assignment_expression "iVar9 = (int)piVar23 - (int)piVar16" identifier = (binary_expression "(int)piVar23 - (int)piVar16" (cast_expression "(int)piVar23" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar9 - 1U" number_literal < (binary_expression "iVar9 - 1U" identifier - number_literal))) ))) )) (compound_statement "{\n          local_7c = 8;\n          goto LAB_00057fac;\n        }" { (expression_statement "local_7c = 8;" (assignment_expression "local_7c = 8" identifier = number_literal) ;) (goto_statement "goto LAB_00057fac;" goto statement_identifier ;) })))) (expression_statement "lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);" (assignment_expression "lVar25 = (*DAT_000b9dd4)(piVar16,iVar9)" identifier = (call_expression "(*DAT_000b9dd4)(piVar16,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar16,iVar9)" ( identifier , identifier )))) ;) (expression_statement "local_7c = 8;" (assignment_expression "local_7c = 8" identifier = number_literal) ;) })) (expression_statement "local_94 = (int)lVar25;" (assignment_expression "local_94 = (int)lVar25" identifier = (cast_expression "(int)lVar25" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_80 = (int *)((int)piVar15 + local_94);" (assignment_expression "local_80 = (int *)((int)piVar15 + local_94)" identifier = (cast_expression "(int *)((int)piVar15 + local_94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + local_94)" ( (binary_expression "(int)piVar15 + local_94" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);" (assignment_expression "uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10)" identifier = (binary_expression "(int)piVar15 - *(int *)(param_1 + 0x10)" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))))) ;) (expression_statement "uVar4 = lVar25 + (ulonglong)uVar14;" (assignment_expression "uVar4 = lVar25 + (ulonglong)uVar14" identifier = (binary_expression "lVar25 + (ulonglong)uVar14" identifier + (cast_expression "(ulonglong)uVar14" ( (type_descriptor "ulonglong" type_identifier) ) identifier))) ;) (if_statement "if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;" if (parenthesized_expression "((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14))" ( (binary_expression "(uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)" (call_expression "(uint)(uVar4 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 >> 0x20)" ( (binary_expression "uVar4 >> 0x20" identifier >> number_literal) ))) < (call_expression "(uint)((uint)uVar4 < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)uVar4 < uVar14)" ( (binary_expression "(uint)uVar4 < uVar14" (cast_expression "(uint)uVar4" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) )))) )) (goto_statement "goto LAB_000580cc;" goto statement_identifier ;)) }) (else_clause "else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }" else (compound_statement "{\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }" { (expression_statement "iVar9 = (int)piVar23 - (int)piVar2;" (assignment_expression "iVar9 = (int)piVar23 - (int)piVar2" identifier = (binary_expression "(int)piVar23 - (int)piVar2" (cast_expression "(int)piVar23" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar9 - 1U < 8) goto LAB_00058065;" if (parenthesized_expression "(iVar9 - 1U < 8)" ( (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_00058065;" goto statement_identifier ;)) (expression_statement "local_7c = 4;" (assignment_expression "local_7c = 4" identifier = number_literal) ;) (labeled_statement "LAB_00057fac:\n      local_94 = 0;" statement_identifier : (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;)) (expression_statement "uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));" (assignment_expression "uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10))" identifier = (call_expression "(ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10))" (call_expression "(ulonglong)(uint)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "((int)piVar15 - *(int *)(param_1 + 0x10))" ( (binary_expression "(int)piVar15 - *(int *)(param_1 + 0x10)" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) )))) ;) (expression_statement "local_80 = piVar15;" (assignment_expression "local_80 = piVar15" identifier = identifier) ;) }))) (expression_statement "uVar14 = (uint)(uVar4 >> 0x20);" (assignment_expression "uVar14 = (uint)(uVar4 >> 0x20)" identifier = (call_expression "(uint)(uVar4 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 >> 0x20)" ( (binary_expression "uVar4 >> 0x20" identifier >> number_literal) )))) ;) (if_statement "if (*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }" if (parenthesized_expression "(*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4))" ( (binary_expression "*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)" (binary_expression "*(uint *)(param_1 + 0x20) < uVar14" (pointer_expression "*(uint *)(param_1 + 0x20)" * (cast_expression "(uint *)(param_1 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) < identifier) || (binary_expression "*(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)" (binary_expression "*(uint *)(param_1 + 0x20) - uVar14" (pointer_expression "*(uint *)(param_1 + 0x20)" * (cast_expression "(uint *)(param_1 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) - identifier) < (call_expression "(uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_1 + 0x1c) < (uint)uVar4)" ( (binary_expression "*(uint *)(param_1 + 0x1c) < (uint)uVar4" (pointer_expression "*(uint *)(param_1 + 0x1c)" * (cast_expression "(uint *)(param_1 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) < (cast_expression "(uint)uVar4" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) )) (compound_statement "{\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }" { (labeled_statement "LAB_000580cc:\n      uVar12 = FUN_0004cb30(0);" statement_identifier : (expression_statement "uVar12 = FUN_0004cb30(0);" (assignment_expression "uVar12 = FUN_0004cb30(0)" identifier = (call_expression "FUN_0004cb30(0)" identifier (argument_list "(0)" ( number_literal )))) ;)) (expression_statement "iVar9 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x10)" identifier = (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar11 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);" (assignment_expression "uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" identifier = (call_expression "dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" identifier (argument_list "(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" ( number_literal , (string_literal ""Debug info is corrupted, %s header at %#lx has length %s\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);" (call_expression "warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12)" identifier (argument_list "(uVar13,uVar11,(int)piVar2 - iVar9,uVar12)" ( identifier , identifier , (binary_expression "(int)piVar2 - iVar9" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "piVar16 = (int *)((int)piVar15 + 2);" (assignment_expression "piVar16 = (int *)((int)piVar15 + 2)" identifier = (cast_expression "(int *)((int)piVar15 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 2)" ( (binary_expression "(int)piVar15 + 2" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (piVar16 < local_80) {\n      iVar9 = 2;\n    }\n    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }" if (parenthesized_expression "(piVar16 < local_80)" ( (binary_expression "piVar16 < local_80" identifier < identifier) )) (compound_statement "{\n      iVar9 = 2;\n    }" { (expression_statement "iVar9 = 2;" (assignment_expression "iVar9 = 2" identifier = number_literal) ;) }) (else_clause "else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }" else (if_statement "if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }" if (parenthesized_expression "((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U))" ( (binary_expression "(local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)" (parenthesized_expression "(local_80 <= piVar15)" ( (binary_expression "local_80 <= piVar15" identifier <= identifier) )) || (parenthesized_expression "(iVar9 = local_94, 7 < local_94 - 1U)" ( (comma_expression "iVar9 = local_94, 7 < local_94 - 1U" (assignment_expression "iVar9 = local_94" identifier = identifier) , (binary_expression "7 < local_94 - 1U" number_literal < (binary_expression "local_94 - 1U" identifier - number_literal))) ))) )) (compound_statement "{\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Version %ld\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Version %ld\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Version %ld\n",5)" identifier (argument_list "(0,"Version %ld\n",5)" ( number_literal , (string_literal ""Version %ld\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,0);" (call_expression "printf(pcVar10,0)" identifier (argument_list "(pcVar10,0)" ( identifier , number_literal ))) ;) (goto_statement "goto LAB_00058029;" goto statement_identifier ;) })))) (expression_statement "uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);" (assignment_expression "uVar7 = (*DAT_000b9dd4)(piVar15,iVar9)" identifier = (call_expression "(*DAT_000b9dd4)(piVar15,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar15,iVar9)" ( identifier , identifier )))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Version %ld\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Version %ld\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Version %ld\n",5)" identifier (argument_list "(0,"Version %ld\n",5)" ( number_literal , (string_literal ""Version %ld\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,(uint)uVar7);" (call_expression "printf(pcVar10,(uint)uVar7)" identifier (argument_list "(pcVar10,(uint)uVar7)" ( identifier , (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (if_statement "if (uVar7 != 5) {\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }" if (parenthesized_expression "(uVar7 != 5)" ( (binary_expression "uVar7 != 5" identifier != number_literal) )) (compound_statement "{\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }" { (labeled_statement "LAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);" statement_identifier : (expression_statement "uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);" (assignment_expression "uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5)" identifier = (call_expression "dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5)" identifier (argument_list "(0,"Only DWARF version 5 .debug_names is currently supported.\n",5)" ( number_literal , (string_literal ""Only DWARF version 5 .debug_names is currently supported.\n"" " string_content escape_sequence ") , number_literal )))) ;)) (expression_statement "warn(uVar11);" (call_expression "warn(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "piVar22 = piVar15 + 1;" (assignment_expression "piVar22 = piVar15 + 1" identifier = (binary_expression "piVar15 + 1" identifier + number_literal)) ;) (if_statement "if (piVar22 < local_80) {\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }" if (parenthesized_expression "(piVar22 < local_80)" ( (binary_expression "piVar22 < local_80" identifier < identifier) )) (compound_statement "{\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }" { (expression_statement "local_94 = 2;" (assignment_expression "local_94 = 2" identifier = number_literal) ;) (labeled_statement "LAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);" statement_identifier : (expression_statement "sVar8 = (*DAT_000b9dd4)(piVar16,local_94);" (assignment_expression "sVar8 = (*DAT_000b9dd4)(piVar16,local_94)" identifier = (call_expression "(*DAT_000b9dd4)(piVar16,local_94)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar16,local_94)" ( identifier , identifier )))) ;)) (if_statement "if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }" if (parenthesized_expression "(sVar8 != 0)" ( (binary_expression "sVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }" { (expression_statement "uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);" (assignment_expression "uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5)" identifier = (call_expression "dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5)" identifier (argument_list "(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5)" ( number_literal , (string_literal ""Padding field of .debug_names must be 0 (found 0x%x)\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar11,sVar8);" (call_expression "warn(uVar11,sVar8)" identifier (argument_list "(uVar11,sVar8)" ( identifier , identifier ))) ;) })) (if_statement "if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;" if (parenthesized_expression "(piVar15 + 2 < local_80)" ( (binary_expression "piVar15 + 2 < local_80" (binary_expression "piVar15 + 2" identifier + number_literal) < identifier) )) (compound_statement "{\nLAB_000581ba:\n        iVar9 = 4;\n      }" { (labeled_statement "LAB_000581ba:\n        iVar9 = 4;" statement_identifier : (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;)) }) (else_clause "else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;" else (if_statement "if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;" if (parenthesized_expression "((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))" ( (binary_expression "(local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U)" (parenthesized_expression "(local_80 <= piVar22)" ( (binary_expression "local_80 <= piVar22" identifier <= identifier) )) || (parenthesized_expression "(iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U)" ( (comma_expression "iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U" (assignment_expression "iVar9 = (int)local_80 - (int)piVar22" identifier = (binary_expression "(int)local_80 - (int)piVar22" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar22" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar9 - 1U" number_literal < (binary_expression "iVar9 - 1U" identifier - number_literal))) ))) )) (goto_statement "goto LAB_000581d8;" goto statement_identifier ;)))) (expression_statement "local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);" (assignment_expression "local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9)" identifier = (cast_expression "(int *)(*DAT_000b9dd4)(piVar22,iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*DAT_000b9dd4)(piVar22,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar22,iVar9)" ( identifier , identifier ))))) ;) (if_statement "if (local_88 == (int *)0x0) goto LAB_000581d8;" if (parenthesized_expression "(local_88 == (int *)0x0)" ( (binary_expression "local_88 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000581d8;" goto statement_identifier ;)) }) (else_clause "else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }" else (compound_statement "{\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }" { (if_statement "if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }" if (parenthesized_expression "((piVar16 < local_80) && (local_94 - 3U < 8))" ( (binary_expression "(piVar16 < local_80) && (local_94 - 3U < 8)" (parenthesized_expression "(piVar16 < local_80)" ( (binary_expression "piVar16 < local_80" identifier < identifier) )) && (parenthesized_expression "(local_94 - 3U < 8)" ( (binary_expression "local_94 - 3U < 8" (binary_expression "local_94 - 3U" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }" { (expression_statement "local_94 = local_94 + -2;" (assignment_expression "local_94 = local_94 + -2" identifier = (binary_expression "local_94 + -2" identifier + number_literal)) ;) (goto_statement "goto LAB_00058e95;" goto statement_identifier ;) })) (if_statement "if (piVar15 + 2 < local_80) goto LAB_000581ba;" if (parenthesized_expression "(piVar15 + 2 < local_80)" ( (binary_expression "piVar15 + 2 < local_80" (binary_expression "piVar15 + 2" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_000581ba;" goto statement_identifier ;)) (labeled_statement "LAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);" statement_identifier : (expression_statement "uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);" (assignment_expression "uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5)" identifier = (call_expression "dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5)" identifier (argument_list "(0,"Compilation unit count must be >= 1 in .debug_names\n",5)" ( number_literal , (string_literal ""Compilation unit count must be >= 1 in .debug_names\n"" " string_content escape_sequence ") , number_literal )))) ;)) (expression_statement "warn(uVar11);" (call_expression "warn(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))) ;) (expression_statement "local_88 = (int *)0x0;" (assignment_expression "local_88 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "piVar22 = piVar15 + 2;" (assignment_expression "piVar22 = piVar15 + 2" identifier = (binary_expression "piVar15 + 2" identifier + number_literal)) ;) (expression_statement "piVar16 = piVar15 + 3;" (assignment_expression "piVar16 = piVar15 + 3" identifier = (binary_expression "piVar15 + 3" identifier + number_literal)) ;) (if_statement "if (piVar16 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }\n    else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }" if (parenthesized_expression "(piVar16 < local_80)" ( (binary_expression "piVar16 < local_80" identifier < identifier) )) (compound_statement "{\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }" { (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);" statement_identifier : (expression_statement "local_78 = (*DAT_000b9dd4)(piVar22,iVar9);" (assignment_expression "local_78 = (*DAT_000b9dd4)(piVar22,iVar9)" identifier = (call_expression "(*DAT_000b9dd4)(piVar22,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar22,iVar9)" ( identifier , identifier )))) ;)) (if_statement "if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;" if (parenthesized_expression "(piVar15 + 4 < local_80)" ( (binary_expression "piVar15 + 4 < local_80" (binary_expression "piVar15 + 4" identifier + number_literal) < identifier) )) (compound_statement "{\nLAB_00058f20:\n        iVar9 = 4;\n      }" { (labeled_statement "LAB_00058f20:\n        iVar9 = 4;" statement_identifier : (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;)) }) (else_clause "else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;" else (if_statement "if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;" if (parenthesized_expression "((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))" ( (binary_expression "(local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U)" (parenthesized_expression "(local_80 <= piVar16)" ( (binary_expression "local_80 <= piVar16" identifier <= identifier) )) || (parenthesized_expression "(iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U)" ( (comma_expression "iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U" (assignment_expression "iVar9 = (int)local_80 - (int)piVar16" identifier = (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar9 - 1U" number_literal < (binary_expression "iVar9 - 1U" identifier - number_literal))) ))) )) (goto_statement "goto LAB_0005823a;" goto statement_identifier ;)))) (expression_statement "local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);" (assignment_expression "local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9)" identifier = (cast_expression "(longlong *)(*DAT_000b9dd4)(piVar16,iVar9)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*DAT_000b9dd4)(piVar16,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar16,iVar9)" ( identifier , identifier ))))) ;) (if_statement "if (piVar15 + 5 < local_80) goto LAB_00058f60;" if (parenthesized_expression "(piVar15 + 5 < local_80)" ( (binary_expression "piVar15 + 5 < local_80" (binary_expression "piVar15 + 5" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00058f60;" goto statement_identifier ;)) (if_statement "if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;" if (parenthesized_expression "((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))" ( (binary_expression "(piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8)" (parenthesized_expression "(piVar15 + 4 < local_80)" ( (binary_expression "piVar15 + 4 < local_80" (binary_expression "piVar15 + 4" identifier + number_literal) < identifier) )) && (parenthesized_expression "(iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8)" ( (comma_expression "iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)(piVar15 + 4)" identifier = (binary_expression "(int)local_80 - (int)(piVar15 + 4)" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(piVar15 + 4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar15 + 4)" ( (binary_expression "piVar15 + 4" identifier + number_literal) ))))) , (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00058f65;" goto statement_identifier ;)) (labeled_statement "LAB_0005824f:\n      local_64 = (int *)0x0;" statement_identifier : (expression_statement "local_64 = (int *)0x0;" (assignment_expression "local_64 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (if_statement "if (local_80 <= piVar15 + 6) goto LAB_0005826c;" if (parenthesized_expression "(local_80 <= piVar15 + 6)" ( (binary_expression "local_80 <= piVar15 + 6" identifier <= (binary_expression "piVar15 + 6" identifier + number_literal)) )) (goto_statement "goto LAB_0005826c;" goto statement_identifier ;)) (labeled_statement "LAB_00058e1a:\n      iVar9 = 4;" statement_identifier : (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;)) (labeled_statement "LAB_00058e1f:\n      piVar16 = piVar15 + 6;" statement_identifier : (expression_statement "piVar16 = piVar15 + 6;" (assignment_expression "piVar16 = piVar15 + 6" identifier = (binary_expression "piVar15 + 6" identifier + number_literal)) ;)) (expression_statement "local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);" (assignment_expression "local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9)" identifier = (call_expression "(*DAT_000b9dd4)(piVar15 + 5,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar15 + 5,iVar9)" ( (binary_expression "piVar15 + 5" identifier + number_literal) , identifier )))) ;) (expression_statement "local_60 = local_44 * 4;" (assignment_expression "local_60 = local_44 * 4" identifier = (binary_expression "local_44 * 4" identifier * number_literal)) ;) (expression_statement "local_68 = local_44 * local_7c;" (assignment_expression "local_68 = local_44 * local_7c" identifier = (binary_expression "local_44 * local_7c" identifier * identifier)) ;) (if_statement "if (piVar15 + 7 < local_80) goto LAB_00058df0;" if (parenthesized_expression "(piVar15 + 7 < local_80)" ( (binary_expression "piVar15 + 7 < local_80" (binary_expression "piVar15 + 7" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00058df0;" goto statement_identifier ;)) (if_statement "if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }" if (parenthesized_expression "(local_80 <= piVar16)" ( (binary_expression "local_80 <= piVar16" identifier <= identifier) )) (compound_statement "{\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }" { (labeled_statement "LAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }" statement_identifier : (if_statement "if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }" if (parenthesized_expression "(piVar15 + 8 < local_80)" ( (binary_expression "piVar15 + 8 < local_80" (binary_expression "piVar15 + 8" identifier + number_literal) < identifier) )) (compound_statement "{\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }" { (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;) (goto_statement "goto LAB_000582ab;" goto statement_identifier ;) }))) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005838d;" goto statement_identifier ;) })) (expression_statement "uVar14 = ((int)local_80 - (int)piVar16) - 1;" (assignment_expression "uVar14 = ((int)local_80 - (int)piVar16) - 1" identifier = (binary_expression "((int)local_80 - (int)piVar16) - 1" (parenthesized_expression "((int)local_80 - (int)piVar16)" ( (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal)) ;) (if_statement "if (7 < uVar14) goto LAB_00058291;" if (parenthesized_expression "(7 < uVar14)" ( (binary_expression "7 < uVar14" number_literal < identifier) )) (goto_statement "goto LAB_00058291;" goto statement_identifier ;)) (expression_statement "local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);" (assignment_expression "local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14)" identifier = (call_expression "(*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14)" ( identifier , (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier , identifier )))) ;) (if_statement "if (local_80 <= piVar15 + 8) goto LAB_0005838d;" if (parenthesized_expression "(local_80 <= piVar15 + 8)" ( (binary_expression "local_80 <= piVar15 + 8" identifier <= (binary_expression "piVar15 + 8" identifier + number_literal)) )) (goto_statement "goto LAB_0005838d;" goto statement_identifier ;)) (labeled_statement "LAB_00058e10:\n      iVar9 = 4;" statement_identifier : (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;)) (labeled_statement "LAB_000582ab:\n      local_8c = piVar15 + 8;" statement_identifier : (expression_statement "local_8c = piVar15 + 8;" (assignment_expression "local_8c = piVar15 + 8" identifier = (binary_expression "piVar15 + 8" identifier + number_literal)) ;)) (expression_statement "uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);" (assignment_expression "uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9)" identifier = (call_expression "(*DAT_000b9dd4)(piVar15 + 7,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar15 + 7,iVar9)" ( (binary_expression "piVar15 + 7" identifier + number_literal) , identifier )))) ;) (if_statement "if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }" if (parenthesized_expression "((uVar14 & 3) != 0)" ( (binary_expression "(uVar14 & 3) != 0" (parenthesized_expression "(uVar14 & 3)" ( (binary_expression "uVar14 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }" { (expression_statement "uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);" (assignment_expression "uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5)" identifier = (call_expression "dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5)" identifier (argument_list "(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5)" ( number_literal , (string_literal ""Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar11,uVar14);" (call_expression "warn(uVar11,uVar14)" identifier (argument_list "(uVar11,uVar14)" ( identifier , identifier ))) ;) (expression_statement "uVar14 = uVar14 + (-uVar14 & 3);" (assignment_expression "uVar14 = uVar14 + (-uVar14 & 3)" identifier = (binary_expression "uVar14 + (-uVar14 & 3)" identifier + (parenthesized_expression "(-uVar14 & 3)" ( (binary_expression "-uVar14 & 3" (unary_expression "-uVar14" - identifier) & number_literal) )))) ;) })) (expression_statement "pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Augmentation string:",5)" identifier = (cast_expression "(char *)dcgettext(0,"Augmentation string:",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Augmentation string:",5)" identifier (argument_list "(0,"Augmentation string:",5)" ( number_literal , (string_literal ""Augmentation string:"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (if_statement "if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }" if (parenthesized_expression "(uVar14 != 0)" ( (binary_expression "uVar14 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }" { (expression_statement "piVar16 = (int *)((int)local_8c + uVar14);" (assignment_expression "piVar16 = (int *)((int)local_8c + uVar14)" identifier = (cast_expression "(int *)((int)local_8c + uVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c + uVar14)" ( (binary_expression "(int)local_8c + uVar14" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "piVar15 = local_8c;" (assignment_expression "piVar15 = local_8c" identifier = identifier) ;) (do_statement "do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);" do (compound_statement "{\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        }" { (expression_statement "piVar22 = (int *)((int)piVar15 + 1);" (assignment_expression "piVar22 = (int *)((int)piVar15 + 1)" identifier = (cast_expression "(int *)((int)piVar15 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 1)" ( (binary_expression "(int)piVar15 + 1" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }" if (parenthesized_expression "(piVar22 < local_80)" ( (binary_expression "piVar22 < local_80" identifier < identifier) )) (compound_statement "{\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }" { (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);" statement_identifier : (expression_statement "uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);" (assignment_expression "uVar14 = (*DAT_000b9dd4)(piVar15,iVar9)" identifier = (call_expression "(*DAT_000b9dd4)(piVar15,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar15,iVar9)" ( identifier , identifier )))) ;)) (expression_statement "uVar14 = uVar14 & 0xff;" (assignment_expression "uVar14 = uVar14 & 0xff" identifier = (binary_expression "uVar14 & 0xff" identifier & number_literal)) ;) }) (else_clause "else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }" else (compound_statement "{\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }" { (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (if_statement "if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;" if (parenthesized_expression "((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))" ( (binary_expression "(piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8)" (parenthesized_expression "(piVar15 < local_80)" ( (binary_expression "piVar15 < local_80" identifier < identifier) )) && (parenthesized_expression "(iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8)" ( (comma_expression "iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)piVar15" identifier = (binary_expression "(int)local_80 - (int)piVar15" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00058368;" goto statement_identifier ;)) }))) (expression_statement "printf(" %02x",uVar14);" (call_expression "printf(" %02x",uVar14)" identifier (argument_list "(" %02x",uVar14)" ( (string_literal "" %02x"" " string_content ") , identifier ))) ;) (expression_statement "piVar15 = piVar22;" (assignment_expression "piVar15 = piVar22" identifier = identifier) ;) (expression_statement "local_8c = piVar16;" (assignment_expression "local_8c = piVar16" identifier = identifier) ;) }) while (parenthesized_expression "(piVar22 != piVar16)" ( (binary_expression "piVar22 != piVar16" identifier != identifier) )) ;) })) }) (else_clause "else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }" else (compound_statement "{\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }" { (if_statement "if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;" if (parenthesized_expression "((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))" ( (binary_expression "(piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8)" (parenthesized_expression "(piVar22 < local_80)" ( (binary_expression "piVar22 < local_80" identifier < identifier) )) && (parenthesized_expression "(iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8)" ( (comma_expression "iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)piVar22" identifier = (binary_expression "(int)local_80 - (int)piVar22" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar22" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00058ee1;" goto statement_identifier ;)) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (if_statement "if (piVar15 + 4 < local_80) goto LAB_00058f20;" if (parenthesized_expression "(piVar15 + 4 < local_80)" ( (binary_expression "piVar15 + 4 < local_80" (binary_expression "piVar15 + 4" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00058f20;" goto statement_identifier ;)) (labeled_statement "LAB_0005823a:\n      local_74 = (longlong *)0x0;" statement_identifier : (expression_statement "local_74 = (longlong *)0x0;" (assignment_expression "local_74 = (longlong *)0x0" identifier = (cast_expression "(longlong *)0x0" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if (local_80 <= piVar15 + 5) goto LAB_0005824f;" if (parenthesized_expression "(local_80 <= piVar15 + 5)" ( (binary_expression "local_80 <= piVar15 + 5" identifier <= (binary_expression "piVar15 + 5" identifier + number_literal)) )) (goto_statement "goto LAB_0005824f;" goto statement_identifier ;)) (labeled_statement "LAB_00058f60:\n      iVar9 = 4;" statement_identifier : (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;)) (labeled_statement "LAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);" statement_identifier : (expression_statement "local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);" (assignment_expression "local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9)" identifier = (call_expression "(*DAT_000b9dd4)(piVar15 + 4,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar15 + 4,iVar9)" ( (binary_expression "piVar15 + 4" identifier + number_literal) , identifier )))) ;)) (expression_statement "local_64 = (int *)(local_70 << 2);" (assignment_expression "local_64 = (int *)(local_70 << 2)" identifier = (cast_expression "(int *)(local_70 << 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_70 << 2)" ( (binary_expression "local_70 << 2" identifier << number_literal) )))) ;) (if_statement "if (piVar15 + 6 < local_80) goto LAB_00058e1a;" if (parenthesized_expression "(piVar15 + 6 < local_80)" ( (binary_expression "piVar15 + 6 < local_80" (binary_expression "piVar15 + 6" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00058e1a;" goto statement_identifier ;)) (if_statement "if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;" if (parenthesized_expression "((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))" ( (binary_expression "(piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8)" (parenthesized_expression "(piVar15 + 5 < local_80)" ( (binary_expression "piVar15 + 5 < local_80" (binary_expression "piVar15 + 5" identifier + number_literal) < identifier) )) && (parenthesized_expression "(iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8)" ( (comma_expression "iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)(piVar15 + 5)" identifier = (binary_expression "(int)local_80 - (int)(piVar15 + 5)" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(piVar15 + 5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar15 + 5)" ( (binary_expression "piVar15 + 5" identifier + number_literal) ))))) , (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00058e1f;" goto statement_identifier ;)) (labeled_statement "LAB_0005826c:\n      local_68 = 0;" statement_identifier : (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;)) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (if_statement "if (local_80 <= piVar15 + 7) goto LAB_00058291;" if (parenthesized_expression "(local_80 <= piVar15 + 7)" ( (binary_expression "local_80 <= piVar15 + 7" identifier <= (binary_expression "piVar15 + 7" identifier + number_literal)) )) (goto_statement "goto LAB_00058291;" goto statement_identifier ;)) (labeled_statement "LAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);" statement_identifier : (expression_statement "local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);" (assignment_expression "local_6c = (*DAT_000b9dd4)(piVar15 + 6,4)" identifier = (call_expression "(*DAT_000b9dd4)(piVar15 + 6,4)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar15 + 6,4)" ( (binary_expression "piVar15 + 6" identifier + number_literal) , number_literal )))) ;)) (if_statement "if (piVar15 + 8 < local_80) goto LAB_00058e10;" if (parenthesized_expression "(piVar15 + 8 < local_80)" ( (binary_expression "piVar15 + 8 < local_80" (binary_expression "piVar15 + 8" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00058e10;" goto statement_identifier ;)) (expression_statement "iVar9 = (int)local_80 - (int)(piVar15 + 7);" (assignment_expression "iVar9 = (int)local_80 - (int)(piVar15 + 7)" identifier = (binary_expression "(int)local_80 - (int)(piVar15 + 7)" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(piVar15 + 7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar15 + 7)" ( (binary_expression "piVar15 + 7" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 - 1U < 8) goto LAB_000582ab;" if (parenthesized_expression "(iVar9 - 1U < 8)" ( (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_000582ab;" goto statement_identifier ;)) (labeled_statement "LAB_0005838d:\n      local_8c = piVar15 + 8;" statement_identifier : (expression_statement "local_8c = piVar15 + 8;" (assignment_expression "local_8c = piVar15 + 8" identifier = (binary_expression "piVar15 + 8" identifier + number_literal)) ;)) (expression_statement "pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Augmentation string:",5)" identifier = (cast_expression "(char *)dcgettext(0,"Augmentation string:",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Augmentation string:",5)" identifier (argument_list "(0,"Augmentation string:",5)" ( number_literal , (string_literal ""Augmentation string:"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) }))) (expression_statement "puVar6 = PTR_stdout_000b3fd8;" (assignment_expression "puVar6 = PTR_stdout_000b3fd8" identifier = identifier) ;) (expression_statement "putc(10,*(FILE **)PTR_stdout_000b3fd8);" (call_expression "putc(10,*(FILE **)PTR_stdout_000b3fd8)" identifier (argument_list "(10,*(FILE **)PTR_stdout_000b3fd8)" ( number_literal , (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" * (cast_expression "(FILE **)PTR_stdout_000b3fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "putc(10,*(FILE **)puVar6);" (call_expression "putc(10,*(FILE **)puVar6)" identifier (argument_list "(10,*(FILE **)puVar6)" ( number_literal , (pointer_expression "*(FILE **)puVar6" * (cast_expression "(FILE **)puVar6" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"CU table:\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"CU table:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"CU table:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"CU table:\n",5)" identifier (argument_list "(0,"CU table:\n",5)" ( number_literal , (string_literal ""CU table:\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (if_statement "if (local_88 != (int *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }" if (parenthesized_expression "(local_88 != (int *)0x0)" ( (binary_expression "local_88 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }" { (expression_statement "piVar16 = local_8c;" (assignment_expression "piVar16 = local_8c" identifier = identifier) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);" do (compound_statement "{\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      }" { (expression_statement "piVar15 = (int *)((int)piVar16 + local_7c);" (assignment_expression "piVar15 = (int *)((int)piVar16 + local_7c)" identifier = (cast_expression "(int *)((int)piVar16 + local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + local_7c)" ( (binary_expression "(int)piVar16 + local_7c" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar20 = local_7c;" (assignment_expression "iVar20 = local_7c" identifier = identifier) ;) (if_statement "if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }" if (parenthesized_expression "((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8))))" ( (binary_expression "(piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))" (parenthesized_expression "(piVar15 < local_80)" ( (binary_expression "piVar15 < local_80" identifier < identifier) )) || (parenthesized_expression "((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))" ( (parenthesized_expression "(uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8))" ( (comma_expression "uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)" (assignment_expression "uVar11 = 0" identifier = number_literal) , (binary_expression "(int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)" (binary_expression "(int *)((int)piVar15 - local_7c) < local_80" (cast_expression "(int *)((int)piVar15 - local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 - local_7c)" ( (binary_expression "(int)piVar15 - local_7c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) ))) < identifier) && (parenthesized_expression "(iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)" ( (comma_expression "iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8" (assignment_expression "iVar20 = (int)local_80 - (int)piVar16" identifier = (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "((int)local_80 - (int)piVar16) - 1U < 8" (binary_expression "((int)local_80 - (int)piVar16) - 1U" (parenthesized_expression "((int)local_80 - (int)piVar16)" ( (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }" { (expression_statement "uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);" (assignment_expression "uVar11 = (*DAT_000b9dd4)(piVar16,iVar20)" identifier = (call_expression "(*DAT_000b9dd4)(piVar16,iVar20)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar16,iVar20)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"[%3u] 0x%lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"[%3u] 0x%lx\n",5)" identifier (argument_list "(0,"[%3u] 0x%lx\n",5)" ( number_literal , (string_literal ""[%3u] 0x%lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "iVar20 = iVar9 + 1;" (assignment_expression "iVar20 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "printf(pcVar10,iVar9,uVar11);" (call_expression "printf(pcVar10,iVar9,uVar11)" identifier (argument_list "(pcVar10,iVar9,uVar11)" ( identifier , identifier , identifier ))) ;) (expression_statement "piVar16 = piVar15;" (assignment_expression "piVar16 = piVar15" identifier = identifier) ;) (expression_statement "iVar9 = iVar20;" (assignment_expression "iVar9 = iVar20" identifier = identifier) ;) }) while (parenthesized_expression "(local_88 != (int *)iVar20)" ( (binary_expression "local_88 != (int *)iVar20" identifier != (cast_expression "(int *)iVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) (expression_statement "local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);" (assignment_expression "local_8c = (int *)((int)local_8c + (int)local_88 * local_7c)" identifier = (cast_expression "(int *)((int)local_8c + (int)local_88 * local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c + (int)local_88 * local_7c)" ( (binary_expression "(int)local_8c + (int)local_88 * local_7c" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)local_88 * local_7c" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) * identifier)) )))) ;) })) (expression_statement "putc(10,*(FILE **)puVar6);" (call_expression "putc(10,*(FILE **)puVar6)" identifier (argument_list "(10,*(FILE **)puVar6)" ( number_literal , (pointer_expression "*(FILE **)puVar6" * (cast_expression "(FILE **)puVar6" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"TU table:\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"TU table:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"TU table:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"TU table:\n",5)" identifier (argument_list "(0,"TU table:\n",5)" ( number_literal , (string_literal ""TU table:\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (if_statement "if (local_78 != 0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }" if (parenthesized_expression "(local_78 != 0)" ( (binary_expression "local_78 != 0" identifier != number_literal) )) (compound_statement "{\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }" { (expression_statement "piVar16 = local_8c;" (assignment_expression "piVar16 = local_8c" identifier = identifier) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);" do (compound_statement "{\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      }" { (expression_statement "piVar15 = (int *)((int)piVar16 + local_7c);" (assignment_expression "piVar15 = (int *)((int)piVar16 + local_7c)" identifier = (cast_expression "(int *)((int)piVar16 + local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + local_7c)" ( (binary_expression "(int)piVar16 + local_7c" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar20 = local_7c;" (assignment_expression "iVar20 = local_7c" identifier = identifier) ;) (if_statement "if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }" if (parenthesized_expression "((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8))))" ( (binary_expression "(piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))" (parenthesized_expression "(piVar15 < local_80)" ( (binary_expression "piVar15 < local_80" identifier < identifier) )) || (parenthesized_expression "((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))" ( (parenthesized_expression "(uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8))" ( (comma_expression "uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)" (assignment_expression "uVar11 = 0" identifier = number_literal) , (binary_expression "(int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)" (binary_expression "(int *)((int)piVar15 - local_7c) < local_80" (cast_expression "(int *)((int)piVar15 - local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 - local_7c)" ( (binary_expression "(int)piVar15 - local_7c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) ))) < identifier) && (parenthesized_expression "(iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)" ( (comma_expression "iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8" (assignment_expression "iVar20 = (int)local_80 - (int)piVar16" identifier = (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "((int)local_80 - (int)piVar16) - 1U < 8" (binary_expression "((int)local_80 - (int)piVar16) - 1U" (parenthesized_expression "((int)local_80 - (int)piVar16)" ( (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }" { (expression_statement "uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);" (assignment_expression "uVar11 = (*DAT_000b9dd4)(piVar16,iVar20)" identifier = (call_expression "(*DAT_000b9dd4)(piVar16,iVar20)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar16,iVar20)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"[%3u] 0x%lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"[%3u] 0x%lx\n",5)" identifier (argument_list "(0,"[%3u] 0x%lx\n",5)" ( number_literal , (string_literal ""[%3u] 0x%lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "iVar20 = iVar9 + 1;" (assignment_expression "iVar20 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "printf(pcVar10,iVar9,uVar11);" (call_expression "printf(pcVar10,iVar9,uVar11)" identifier (argument_list "(pcVar10,iVar9,uVar11)" ( identifier , identifier , identifier ))) ;) (expression_statement "piVar16 = piVar15;" (assignment_expression "piVar16 = piVar15" identifier = identifier) ;) (expression_statement "iVar9 = iVar20;" (assignment_expression "iVar9 = iVar20" identifier = identifier) ;) }) while (parenthesized_expression "(iVar20 != local_78)" ( (binary_expression "iVar20 != local_78" identifier != identifier) )) ;) (expression_statement "local_8c = (int *)((int)local_8c + iVar20 * local_7c);" (assignment_expression "local_8c = (int *)((int)local_8c + iVar20 * local_7c)" identifier = (cast_expression "(int *)((int)local_8c + iVar20 * local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c + iVar20 * local_7c)" ( (binary_expression "(int)local_8c + iVar20 * local_7c" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar20 * local_7c" identifier * identifier)) )))) ;) })) (expression_statement "putc(10,*(FILE **)puVar6);" (call_expression "putc(10,*(FILE **)puVar6)" identifier (argument_list "(10,*(FILE **)puVar6)" ( number_literal , (pointer_expression "*(FILE **)puVar6" * (cast_expression "(FILE **)puVar6" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Foreign TU table:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Foreign TU table:\n",5)" identifier (argument_list "(0,"Foreign TU table:\n",5)" ( number_literal , (string_literal ""Foreign TU table:\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (if_statement "if (local_74 != (longlong *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }" if (parenthesized_expression "(local_74 != (longlong *)0x0)" ( (binary_expression "local_74 != (longlong *)0x0" identifier != (cast_expression "(longlong *)0x0" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }" { (expression_statement "piVar16 = local_8c;" (assignment_expression "piVar16 = local_8c" identifier = identifier) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);" do (compound_statement "{\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      }" { (if_statement "if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;" if (parenthesized_expression "(piVar16 + 2 < local_80)" ( (binary_expression "piVar16 + 2 < local_80" (binary_expression "piVar16 + 2" identifier + number_literal) < identifier) )) (compound_statement "{\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }" { (expression_statement "iVar20 = 8;" (assignment_expression "iVar20 = 8" identifier = number_literal) ;) (labeled_statement "LAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);" statement_identifier : (expression_statement "(*DAT_000b9dd4)(piVar16,iVar20);" (call_expression "(*DAT_000b9dd4)(piVar16,iVar20)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(piVar16,iVar20)" ( identifier , identifier ))) ;)) }) (else_clause "else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;" else (if_statement "if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;" if (parenthesized_expression "((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))" ( (binary_expression "(piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8)" (parenthesized_expression "(piVar16 < local_80)" ( (binary_expression "piVar16 < local_80" identifier < identifier) )) && (parenthesized_expression "(iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8)" ( (comma_expression "iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8" (assignment_expression "iVar20 = (int)local_80 - (int)piVar16" identifier = (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar20 - 1U < 8" (binary_expression "iVar20 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_0005862e;" goto statement_identifier ;)))) (expression_statement "pcVar10 = (char *)dcgettext(0,"[%3u] ",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"[%3u] ",5)" identifier = (cast_expression "(char *)dcgettext(0,"[%3u] ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"[%3u] ",5)" identifier (argument_list "(0,"[%3u] ",5)" ( number_literal , (string_literal ""[%3u] "" " string_content ") , number_literal ))))) ;) (expression_statement "iVar20 = iVar9 + 1;" (assignment_expression "iVar20 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "printf(pcVar10,iVar9);" (call_expression "printf(pcVar10,iVar9)" identifier (argument_list "(pcVar10,iVar9)" ( identifier , identifier ))) ;) (expression_statement "FUN_0004ce40();" (call_expression "FUN_0004ce40()" identifier (argument_list "()" ( ))) ;) (expression_statement "putc(10,*(FILE **)puVar6);" (call_expression "putc(10,*(FILE **)puVar6)" identifier (argument_list "(10,*(FILE **)puVar6)" ( number_literal , (pointer_expression "*(FILE **)puVar6" * (cast_expression "(FILE **)puVar6" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "piVar16 = piVar16 + 2;" (assignment_expression "piVar16 = piVar16 + 2" identifier = (binary_expression "piVar16 + 2" identifier + number_literal)) ;) (expression_statement "iVar9 = iVar20;" (assignment_expression "iVar9 = iVar20" identifier = identifier) ;) }) while (parenthesized_expression "((longlong *)iVar20 != local_74)" ( (binary_expression "(longlong *)iVar20 != local_74" (cast_expression "(longlong *)iVar20" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) ;) (expression_statement "local_8c = local_8c + iVar20 * 2;" (assignment_expression "local_8c = local_8c + iVar20 * 2" identifier = (binary_expression "local_8c + iVar20 * 2" identifier + (binary_expression "iVar20 * 2" identifier * number_literal))) ;) })) (expression_statement "putc(10,*(FILE **)puVar6);" (call_expression "putc(10,*(FILE **)puVar6)" identifier (argument_list "(10,*(FILE **)puVar6)" ( number_literal , (pointer_expression "*(FILE **)puVar6" * (cast_expression "(FILE **)puVar6" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "puVar24 = (uint *)((int)local_64 + (int)local_8c);" (assignment_expression "puVar24 = (uint *)((int)local_64 + (int)local_8c)" identifier = (cast_expression "(uint *)((int)local_64 + (int)local_8c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + (int)local_8c)" ( (binary_expression "(int)local_64 + (int)local_8c" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_4c = (int *)(local_60 + (int)puVar24);" (assignment_expression "local_4c = (int *)(local_60 + (int)puVar24)" identifier = (cast_expression "(int *)(local_60 + (int)puVar24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + (int)puVar24)" ( (binary_expression "local_60 + (int)puVar24" identifier + (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_50 = (int *)((int)local_4c + local_68);" (assignment_expression "local_50 = (int *)((int)local_4c + local_68)" identifier = (cast_expression "(int *)((int)local_4c + local_68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_4c + local_68)" ( (binary_expression "(int)local_4c + local_68" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "local_68 = local_68 + (int)local_50;" (assignment_expression "local_68 = local_68 + (int)local_50" identifier = (binary_expression "local_68 + (int)local_50" identifier + (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "piVar16 = (int *)(local_6c + local_68);" (assignment_expression "piVar16 = (int *)(local_6c + local_68)" identifier = (cast_expression "(int *)(local_6c + local_68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6c + local_68)" ( (binary_expression "local_6c + local_68" identifier + identifier) )))) ;) (if_statement "if (local_80 < piVar16) {\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }" if (parenthesized_expression "(local_80 < piVar16)" ( (binary_expression "local_80 < piVar16" identifier < identifier) )) (compound_statement "{\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }" { (expression_statement "iVar9 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x10)" identifier = (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);" (assignment_expression "uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5)" identifier = (call_expression "dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5)" identifier (argument_list "(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5)" ( number_literal , (string_literal ""Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);" (call_expression "warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9)" identifier (argument_list "(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9)" ( identifier , (binary_expression "(int)piVar16 - iVar9" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) , (binary_expression "(int)local_80 - iVar9" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) , (binary_expression "(int)piVar2 - iVar9" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (if_statement "if (local_70 != 0) {\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }" if (parenthesized_expression "(local_70 != 0)" ( (binary_expression "local_70 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "piVar15 = local_8c + local_70;" (assignment_expression "piVar15 = local_8c + local_70" identifier = (binary_expression "local_8c + local_70" identifier + identifier)) ;) (do_statement "do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);" do (compound_statement "{\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      }" { (expression_statement "iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);" (assignment_expression "iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0)" identifier = (binary_expression "(iVar9 + 1) - (uint)(*local_8c == 0)" (parenthesized_expression "(iVar9 + 1)" ( (binary_expression "iVar9 + 1" identifier + number_literal) )) - (call_expression "(uint)(*local_8c == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*local_8c == 0)" ( (binary_expression "*local_8c == 0" (pointer_expression "*local_8c" * identifier) == number_literal) ))))) ;) (expression_statement "local_8c = local_8c + 1;" (assignment_expression "local_8c = local_8c + 1" identifier = (binary_expression "local_8c + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar15 != local_8c)" ( (binary_expression "piVar15 != local_8c" identifier != identifier) )) ;) })) (expression_statement "pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5);" (assignment_expression "pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5)" identifier = (cast_expression "(char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5)" identifier (argument_list "(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5)" ( number_literal , (string_literal ""Used %zu of %lu bucket.\n"" " string_content escape_sequence ") , (string_literal ""Used %zu of %lu buckets.\n"" " string_content escape_sequence ") , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar10,iVar9,local_70);" (call_expression "printf(pcVar10,iVar9,local_70)" identifier (argument_list "(pcVar10,iVar9,local_70)" ( identifier , identifier , identifier ))) ;) (if_statement "if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }" if (parenthesized_expression "(local_44 == 0)" ( (binary_expression "local_44 == 0" identifier == number_literal) )) (compound_statement "{\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }" { (expression_statement "local_88 = (int *)0x0;" (assignment_expression "local_88 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }" else (compound_statement "{\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }" { (expression_statement "local_88 = (int *)0x0;" (assignment_expression "local_88 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "uVar14 = *puVar24;" (assignment_expression "uVar14 = *puVar24" identifier = (pointer_expression "*puVar24" * identifier)) ;) (expression_statement "puVar19 = puVar24;" (assignment_expression "puVar19 = puVar24" identifier = identifier) ;) (while_statement "while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }" while (parenthesized_expression "(puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19)" ( (comma_expression "puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19" (assignment_expression "puVar19 = puVar19 + 1" identifier = (binary_expression "puVar19 + 1" identifier + number_literal)) , (binary_expression "puVar24 + local_44 != puVar19" (binary_expression "puVar24 + local_44" identifier + identifier) != identifier)) )) (compound_statement "{\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }" { (expression_statement "uVar3 = *puVar19;" (assignment_expression "uVar3 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ;) (if_statement "if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }" if (parenthesized_expression "(uVar14 % local_70 == uVar3 % local_70)" ( (binary_expression "uVar14 % local_70 == uVar3 % local_70" (binary_expression "uVar14 % local_70" identifier % identifier) == (binary_expression "uVar3 % local_70" identifier % identifier)) )) (compound_statement "{\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }" { (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (expression_statement "local_78 = local_78 + 1;" (assignment_expression "local_78 = local_78 + 1" identifier = (binary_expression "local_78 + 1" identifier + number_literal)) ;) (expression_statement "uVar14 = uVar3;" (assignment_expression "uVar14 = uVar3" identifier = identifier) ;) (if_statement "if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }" if (parenthesized_expression "(local_88 < uVar21)" ( (binary_expression "local_88 < uVar21" identifier < identifier) )) (compound_statement "{\n            local_88 = (int *)uVar21;\n          }" { (expression_statement "local_88 = (int *)uVar21;" (assignment_expression "local_88 = (int *)uVar21" identifier = (cast_expression "(int *)uVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) }) (else_clause "else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }" else (compound_statement "{\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "uVar14 = uVar3;" (assignment_expression "uVar14 = uVar3" identifier = identifier) ;) }))) })) (expression_statement "iVar9 = iVar9 + local_78;" (assignment_expression "iVar9 = iVar9 + local_78" identifier = (binary_expression "iVar9 + local_78" identifier + identifier)) ;) }))) (expression_statement "pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5)" identifier (argument_list "(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5)" ( number_literal , (string_literal ""Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,local_44,local_78,local_88);" (call_expression "printf(pcVar10,local_44,local_78,local_88)" identifier (argument_list "(pcVar10,local_44,local_78,local_88)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_44 != iVar9) {\n                    \n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }" if (parenthesized_expression "(local_44 != iVar9)" ( (binary_expression "local_44 != iVar9" identifier != identifier) )) (compound_statement "{\n                    \n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }" { (expression_statement "__assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");" (call_expression "__assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names")" identifier (argument_list "("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names")" ( (string_literal ""name_count == buckets_filled + hash_clash_count"" " string_content ") , (string_literal ""../../binutils/dwarf.c"" " string_content ") , number_literal , (string_literal ""display_debug_names"" " string_content ") ))) ;) })) (expression_statement "local_88 = (int *)0x0;" (assignment_expression "local_88 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_74 = (longlong *)0x0;" (assignment_expression "local_74 = (longlong *)0x0" identifier = (cast_expression "(longlong *)0x0" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8c = (int *)0x0;" (assignment_expression "local_8c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while( true ) {\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    \n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    \n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }" { (expression_statement "lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);" (assignment_expression "lVar25 = FUN_0004f910(local_68,local_20,0,piVar16)" identifier = (call_expression "FUN_0004f910(local_68,local_20,0,piVar16)" identifier (argument_list "(local_68,local_20,0,piVar16)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_68 = local_68 + local_20[0];" (assignment_expression "local_68 = local_68 + local_20[0]" identifier = (binary_expression "local_68 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (if_statement "if (lVar25 == 0) break;" if (parenthesized_expression "(lVar25 == 0)" ( (binary_expression "lVar25 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }" if (parenthesized_expression "(local_8c == local_88)" ( (binary_expression "local_8c == local_88" identifier == identifier) )) (compound_statement "{\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }" { (expression_statement "local_88 = (int *)((int)local_8c * 2);" (assignment_expression "local_88 = (int *)((int)local_8c * 2)" identifier = (cast_expression "(int *)((int)local_8c * 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c * 2)" ( (binary_expression "(int)local_8c * 2" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (if_statement "if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }" if (parenthesized_expression "(local_88 < 0x100)" ( (binary_expression "local_88 < 0x100" identifier < number_literal) )) (compound_statement "{\n          local_88 = (int *)0x100;\n        }" { (expression_statement "local_88 = (int *)0x100;" (assignment_expression "local_88 = (int *)0x100" identifier = (cast_expression "(int *)0x100" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);" (assignment_expression "local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc)" identifier = (cast_expression "(longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0006b060(local_74,(int)local_88 * 0xc)" identifier (argument_list "(local_74,(int)local_88 * 0xc)" ( identifier , (binary_expression "(int)local_88 * 0xc" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))))) ;) })) (if_statement "if (local_88 <= local_8c) {\n                    \n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }" if (parenthesized_expression "(local_88 <= local_8c)" ( (binary_expression "local_88 <= local_8c" identifier <= identifier) )) (compound_statement "{\n                    \n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }" { (expression_statement "__assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");" (call_expression "__assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names")" identifier (argument_list "("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names")" ( (string_literal ""abbrev_lookup_used < abbrev_lookup_allocated"" " string_content ") , (string_literal ""../../binutils/dwarf.c"" " string_content ") , number_literal , (string_literal ""display_debug_names"" " string_content ") ))) ;) })) (expression_statement "plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);" (assignment_expression "plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc)" identifier = (cast_expression "(longlong *)((int)local_74 + (int)local_8c * 0xc)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + (int)local_8c * 0xc)" ( (binary_expression "(int)local_74 + (int)local_8c * 0xc" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)local_8c * 0xc" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (if_statement "if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }" if (parenthesized_expression "(local_74 < plVar1)" ( (binary_expression "local_74 < plVar1" identifier < identifier) )) (compound_statement "{\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }" { (expression_statement "lVar28 = *local_74;" (assignment_expression "lVar28 = *local_74" identifier = (pointer_expression "*local_74" * identifier)) ;) (expression_statement "plVar17 = local_74;" (assignment_expression "plVar17 = local_74" identifier = identifier) ;) (while_statement "while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }" while (parenthesized_expression "(lVar25 != lVar28)" ( (binary_expression "lVar25 != lVar28" identifier != identifier) )) (compound_statement "{\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }" { (expression_statement "plVar17 = (longlong *)((int)plVar17 + 0xc);" (assignment_expression "plVar17 = (longlong *)((int)plVar17 + 0xc)" identifier = (cast_expression "(longlong *)((int)plVar17 + 0xc)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)plVar17 + 0xc)" ( (binary_expression "(int)plVar17 + 0xc" (cast_expression "(int)plVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (plVar1 <= plVar17) goto LAB_00058864;" if (parenthesized_expression "(plVar1 <= plVar17)" ( (binary_expression "plVar1 <= plVar17" identifier <= identifier) )) (goto_statement "goto LAB_00058864;" goto statement_identifier ;)) (expression_statement "lVar28 = *plVar17;" (assignment_expression "lVar28 = *plVar17" identifier = (pointer_expression "*plVar17" * identifier)) ;) })) (expression_statement "iVar9 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x10)" identifier = (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);" (assignment_expression "uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5)" identifier = (call_expression "dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5)" identifier (argument_list "(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5)" ( number_literal , (string_literal ""Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);" (call_expression "warn(uVar11,(int)lVar25,(int)piVar2 - iVar9)" identifier (argument_list "(uVar11,(int)lVar25,(int)piVar2 - iVar9)" ( identifier , (cast_expression "(int)lVar25" ( (type_descriptor "int" primitive_type) ) identifier) , (binary_expression "(int)piVar2 - iVar9" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) ))) ;) })) (labeled_statement "LAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);" statement_identifier : (expression_statement "local_8c = (int *)((int)local_8c + 1);" (assignment_expression "local_8c = (int *)((int)local_8c + 1)" identifier = (cast_expression "(int *)((int)local_8c + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c + 1)" ( (binary_expression "(int)local_8c + 1" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "*plVar1 = lVar25;" (assignment_expression "*plVar1 = lVar25" (pointer_expression "*plVar1" * identifier) = identifier) ;) (expression_statement "*(int *)(plVar1 + 1) = local_68;" (assignment_expression "*(int *)(plVar1 + 1) = local_68" (pointer_expression "*(int *)(plVar1 + 1)" * (cast_expression "(int *)(plVar1 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar1 + 1)" ( (binary_expression "plVar1 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_0004f910(local_68,local_20,0,piVar16);" (call_expression "FUN_0004f910(local_68,local_20,0,piVar16)" identifier (argument_list "(local_68,local_20,0,piVar16)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "local_68 = local_68 + local_20[0];" (assignment_expression "local_68 = local_68 + local_20[0]" identifier = (binary_expression "local_68 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (do_statement "do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));" do (compound_statement "{\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      }" { (expression_statement "uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);" (assignment_expression "uVar26 = FUN_0004f910(local_68,local_20,0,piVar16)" identifier = (call_expression "FUN_0004f910(local_68,local_20,0,piVar16)" identifier (argument_list "(local_68,local_20,0,piVar16)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_68 = local_68 + local_20[0];" (assignment_expression "local_68 = local_68 + local_20[0]" identifier = (binary_expression "local_68 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);" (assignment_expression "uVar27 = FUN_0004f910(local_68,local_20,0,piVar16)" identifier = (call_expression "FUN_0004f910(local_68,local_20,0,piVar16)" identifier (argument_list "(local_68,local_20,0,piVar16)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_68 = local_68 + local_20[0];" (assignment_expression "local_68 = local_68 + local_20[0]" identifier = (binary_expression "local_68 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0))" ( (binary_expression "((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0)" (parenthesized_expression "((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0" (binary_expression "(int)((ulonglong)uVar27 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar27 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar27 >> 0x20)" ( (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) || (binary_expression "(int)((ulonglong)uVar26 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar26 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar26 >> 0x20)" ( (binary_expression "(ulonglong)uVar26 >> 0x20" (cast_expression "(ulonglong)uVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal)) )) || (parenthesized_expression "((int)uVar27 != 0 || (int)uVar26 != 0)" ( (binary_expression "(int)uVar27 != 0 || (int)uVar26 != 0" (binary_expression "(int)uVar27 != 0" (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) || (binary_expression "(int)uVar26 != 0" (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal)) ))) )) ;) })) (expression_statement "pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nSymbol table:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nSymbol table:\n",5)" identifier (argument_list "(0,"\nSymbol table:\n",5)" ( number_literal , (string_literal ""\nSymbol table:\n"" " escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (if_statement "if (local_44 != 0) {\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }" if (parenthesized_expression "(local_44 != 0)" ( (binary_expression "local_44 != 0" identifier != number_literal) )) (compound_statement "{\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }" { (expression_statement "plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);" (assignment_expression "plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc)" identifier = (cast_expression "(longlong *)((int)local_74 + (int)local_8c * 0xc)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + (int)local_8c * 0xc)" ( (binary_expression "(int)local_74 + (int)local_8c * 0xc" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)local_8c * 0xc" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (do_statement "do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);" do (compound_statement "{\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      }" { (expression_statement "iVar9 = local_7c;" (assignment_expression "iVar9 = local_7c" identifier = identifier) ;) (if_statement "if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }" if (parenthesized_expression "(((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8))))" ( (binary_expression "((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))" (parenthesized_expression "((int *)((int)local_4c + local_7c) < local_80)" ( (binary_expression "(int *)((int)local_4c + local_7c) < local_80" (cast_expression "(int *)((int)local_4c + local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_4c + local_7c)" ( (binary_expression "(int)local_4c + local_7c" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) < identifier) )) || (parenthesized_expression "((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))" ( (parenthesized_expression "(local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8))" ( (binary_expression "local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)" (binary_expression "local_4c < local_80" identifier < identifier) && (parenthesized_expression "(iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)" ( (comma_expression "iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)local_4c" identifier = (binary_expression "(int)local_80 - (int)local_4c" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "((int)local_80 - (int)local_4c) - 1U < 8" (binary_expression "((int)local_80 - (int)local_4c) - 1U" (parenthesized_expression "((int)local_80 - (int)local_4c)" ( (binary_expression "(int)local_80 - (int)local_4c" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal)) ))) )) ))) )) (compound_statement "{\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }" { (expression_statement "(*DAT_000b9dd4)(local_4c,iVar9);" (call_expression "(*DAT_000b9dd4)(local_4c,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(local_4c,iVar9)" ( identifier , identifier ))) ;) })) (expression_statement "iVar9 = local_7c;" (assignment_expression "iVar9 = local_7c" identifier = identifier) ;) (if_statement "if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }" if (parenthesized_expression "(((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8))))" ( (binary_expression "((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))" (parenthesized_expression "((int *)((int)local_50 + local_7c) < local_80)" ( (binary_expression "(int *)((int)local_50 + local_7c) < local_80" (cast_expression "(int *)((int)local_50 + local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_50 + local_7c)" ( (binary_expression "(int)local_50 + local_7c" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) < identifier) )) || (parenthesized_expression "((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))" ( (parenthesized_expression "(local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8))" ( (comma_expression "local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)" (assignment_expression "local_64 = piVar16" identifier = identifier) , (binary_expression "local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)" (binary_expression "local_50 < local_80" identifier < identifier) && (parenthesized_expression "(iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)" ( (comma_expression "iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)local_50" identifier = (binary_expression "(int)local_80 - (int)local_50" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "((int)local_80 - (int)local_50) - 1U < 8" (binary_expression "((int)local_80 - (int)local_50) - 1U" (parenthesized_expression "((int)local_80 - (int)local_50)" ( (binary_expression "(int)local_80 - (int)local_50" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }" { (expression_statement "iVar9 = (*DAT_000b9dd4)(local_50,iVar9);" (assignment_expression "iVar9 = (*DAT_000b9dd4)(local_50,iVar9)" identifier = (call_expression "(*DAT_000b9dd4)(local_50,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" ( (pointer_expression "*DAT_000b9dd4" * identifier) )) (argument_list "(local_50,iVar9)" ( identifier , identifier )))) ;) (expression_statement "local_64 = (int *)(iVar9 + (int)piVar16);" (assignment_expression "local_64 = (int *)(iVar9 + (int)piVar16)" identifier = (cast_expression "(int *)(iVar9 + (int)piVar16)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + (int)piVar16)" ( (binary_expression "iVar9 + (int)piVar16" identifier + (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "uVar11 = FUN_0004e530();" (assignment_expression "uVar11 = FUN_0004e530()" identifier = (call_expression "FUN_0004e530()" identifier (argument_list "()" ( )))) ;) (expression_statement "printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);" (call_expression "printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11)" identifier (argument_list "("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11)" ( (string_literal ""[%3u] #%08x %s:"" " string_content ") , identifier , (subscript_expression "puVar24[local_60]" identifier [ identifier ]) , identifier ))) ;) (expression_statement "local_88 = local_64;" (assignment_expression "local_88 = local_64" identifier = identifier) ;) (expression_statement "local_8c = (int *)0xfffffffe;" (assignment_expression "local_8c = (int *)0xfffffffe" identifier = (cast_expression "(int *)0xfffffffe" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "lVar25 = -1;" (assignment_expression "lVar25 = -1" identifier = number_literal) ;) (while_statement "while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }" { (while_statement "while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }" { (expression_statement "lVar28 = FUN_0004f910(local_88,local_20,0,local_80);" (assignment_expression "lVar28 = FUN_0004f910(local_88,local_20,0,local_80)" identifier = (call_expression "FUN_0004f910(local_88,local_20,0,local_80)" identifier (argument_list "(local_88,local_20,0,local_80)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar9 = local_20[0];" (assignment_expression "iVar9 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (if_statement "if (local_8c != (int *)0xffffffff) break;" if (parenthesized_expression "(local_8c != (int *)0xffffffff)" ( (binary_expression "local_8c != (int *)0xffffffff" identifier != (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "local_88 = local_64;" (assignment_expression "local_88 = local_64" identifier = identifier) ;) (expression_statement "local_8c = (int *)0x0;" (assignment_expression "local_8c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "lVar25 = lVar28;" (assignment_expression "lVar25 = lVar28" identifier = identifier) ;) })) (if_statement "if (lVar28 == 0) goto LAB_00058b8d;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00058b8d;" goto statement_identifier ;)) (if_statement "if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }" if (parenthesized_expression "(-1 < (int)local_8c)" ( (binary_expression "-1 < (int)local_8c" number_literal < (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }" { (if_statement "if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }" if (parenthesized_expression "((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0))" ( (binary_expression "(local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)" (parenthesized_expression "(local_8c != (int *)0x0)" ( (binary_expression "local_8c != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar18 = &DAT_0007c3bc, lVar25 != 0)" ( (comma_expression "puVar18 = &DAT_0007c3bc, lVar25 != 0" (assignment_expression "puVar18 = &DAT_0007c3bc" identifier = (pointer_expression "&DAT_0007c3bc" & identifier)) , (binary_expression "lVar25 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n              puVar18 = &DAT_0007bc58;\n            }" { (expression_statement "puVar18 = &DAT_0007bc58;" (assignment_expression "puVar18 = &DAT_0007bc58" identifier = (pointer_expression "&DAT_0007bc58" & identifier)) ;) })) (expression_statement "printf("%s<%lu>",puVar18,(int)lVar28);" (call_expression "printf("%s<%lu>",puVar18,(int)lVar28)" identifier (argument_list "("%s<%lu>",puVar18,(int)lVar28)" ( (string_literal ""%s<%lu>"" " string_content ") , identifier , (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) (if_statement "if (plVar1 <= local_74) break;" if (parenthesized_expression "(plVar1 <= local_74)" ( (binary_expression "plVar1 <= local_74" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = *local_74;" (assignment_expression "lVar5 = *local_74" identifier = (pointer_expression "*local_74" * identifier)) ;) (expression_statement "plVar17 = local_74;" (assignment_expression "plVar17 = local_74" identifier = identifier) ;) (while_statement "while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }" while (parenthesized_expression "(lVar28 != lVar5)" ( (binary_expression "lVar28 != lVar5" identifier != identifier) )) (compound_statement "{\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }" { (expression_statement "plVar17 = (longlong *)((int)plVar17 + 0xc);" (assignment_expression "plVar17 = (longlong *)((int)plVar17 + 0xc)" identifier = (cast_expression "(longlong *)((int)plVar17 + 0xc)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)plVar17 + 0xc)" ( (binary_expression "(int)plVar17 + 0xc" (cast_expression "(int)plVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (plVar1 <= plVar17) goto LAB_00058b50;" if (parenthesized_expression "(plVar1 <= plVar17)" ( (binary_expression "plVar1 <= plVar17" identifier <= identifier) )) (goto_statement "goto LAB_00058b50;" goto statement_identifier ;)) (expression_statement "lVar5 = *plVar17;" (assignment_expression "lVar5 = *plVar17" identifier = (pointer_expression "*plVar17" * identifier)) ;) })) (expression_statement "lVar28 = plVar17[1];" (assignment_expression "lVar28 = plVar17[1]" identifier = (subscript_expression "plVar17[1]" identifier [ number_literal ])) ;) (expression_statement "FUN_0004f910((int)lVar28,local_20,0,piVar16);" (call_expression "FUN_0004f910((int)lVar28,local_20,0,piVar16)" identifier (argument_list "((int)lVar28,local_20,0,piVar16)" ( (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , number_literal , identifier ))) ;) (expression_statement "iVar20 = (int)lVar28 + local_20[0];" (assignment_expression "iVar20 = (int)lVar28 + local_20[0]" identifier = (binary_expression "(int)lVar28 + local_20[0]" (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (if_statement "if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }" if (parenthesized_expression "(-1 < (int)local_8c)" ( (binary_expression "-1 < (int)local_8c" number_literal < (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }" { (expression_statement "uVar11 = FUN_0004e710();" (assignment_expression "uVar11 = FUN_0004e710()" identifier = (call_expression "FUN_0004e710()" identifier (argument_list "()" ( )))) ;) (expression_statement "printf(" %s",uVar11);" (call_expression "printf(" %s",uVar11)" identifier (argument_list "(" %s",uVar11)" ( (string_literal "" %s"" " string_content ") , identifier ))) ;) })) (expression_statement "local_88 = (int *)((int)local_88 + iVar9);" (assignment_expression "local_88 = (int *)((int)local_88 + iVar9)" identifier = (cast_expression "(int *)((int)local_88 + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_88 + iVar9)" ( (binary_expression "(int)local_88 + iVar9" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (while_statement "while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }" { (expression_statement "uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);" (assignment_expression "uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16)" identifier = (call_expression "FUN_0004f910(iVar20,local_20,0,piVar16)" identifier (argument_list "(iVar20,local_20,0,piVar16)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar9 = (int)uVar26;" (assignment_expression "iVar9 = (int)uVar26" identifier = (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar20 = iVar20 + local_20[0];" (assignment_expression "iVar20 = iVar20 + local_20[0]" identifier = (binary_expression "iVar20 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);" (assignment_expression "uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16)" identifier = (call_expression "FUN_0004f910(iVar20,local_20,0,piVar16)" identifier (argument_list "(iVar20,local_20,0,piVar16)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar20 = iVar20 + local_20[0];" (assignment_expression "iVar20 = iVar20 + local_20[0]" identifier = (binary_expression "iVar20 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (if_statement "if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;" if (parenthesized_expression "(((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0))" ( (binary_expression "((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)" (parenthesized_expression "((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0" (binary_expression "(int)((ulonglong)uVar26 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar26 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar26 >> 0x20)" ( (binary_expression "(ulonglong)uVar26 >> 0x20" (cast_expression "(ulonglong)uVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) && (binary_expression "(int)((ulonglong)uVar27 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar27 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar27 >> 0x20)" ( (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal)) )) && (parenthesized_expression "((int)uVar27 == 0 && iVar9 == 0)" ( (binary_expression "(int)uVar27 == 0 && iVar9 == 0" (binary_expression "(int)uVar27 == 0" (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) && (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) (break_statement "break;" break ;)) (if_statement "if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }" if (parenthesized_expression "(-1 < (int)local_8c)" ( (binary_expression "-1 < (int)local_8c" number_literal < (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }" { (expression_statement "puVar18 = (undefined *)FUN_0006ad50(iVar9);" (assignment_expression "puVar18 = (undefined *)FUN_0006ad50(iVar9)" identifier = (cast_expression "(undefined *)FUN_0006ad50(iVar9)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0006ad50(iVar9)" identifier (argument_list "(iVar9)" ( identifier ))))) ;) (if_statement "if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }" if (parenthesized_expression "(puVar18 == (undefined *)0x0)" ( (binary_expression "puVar18 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5)" identifier = (cast_expression "(char *)dcgettext(0,"Unknown IDX value: %lx",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Unknown IDX value: %lx",5)" identifier (argument_list "(0,"Unknown IDX value: %lx",5)" ( number_literal , (string_literal ""Unknown IDX value: %lx"" " string_content ") , number_literal ))))) ;) (expression_statement "snprintf(&DAT_000b7660,100,pcVar10,iVar9);" (call_expression "snprintf(&DAT_000b7660,100,pcVar10,iVar9)" identifier (argument_list "(&DAT_000b7660,100,pcVar10,iVar9)" ( (pointer_expression "&DAT_000b7660" & identifier) , number_literal , identifier , identifier ))) ;) (expression_statement "puVar18 = &DAT_000b7660;" (assignment_expression "puVar18 = &DAT_000b7660" identifier = (pointer_expression "&DAT_000b7660" & identifier)) ;) })) (expression_statement "printf(" %s",puVar18);" (call_expression "printf(" %s",puVar18)" identifier (argument_list "(" %s",puVar18)" ( (string_literal "" %s"" " string_content ") , identifier ))) ;) })) (expression_statement "local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);" (assignment_expression "local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d)" identifier = (cast_expression "(int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d)" identifier (argument_list "(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d)" ( number_literal , number_literal , identifier , identifier , number_literal , number_literal , number_literal , number_literal , identifier , number_literal , number_literal , number_literal , (binary_expression "(uint)local_8c >> 0x1f" (cast_expression "(uint)local_8c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) , number_literal , number_literal , number_literal ))))) ;) })) (expression_statement "local_8c = (int *)((int)local_8c + 1);" (assignment_expression "local_8c = (int *)((int)local_8c + 1)" identifier = (cast_expression "(int *)((int)local_8c + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c + 1)" ( (binary_expression "(int)local_8c + 1" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (labeled_statement "LAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);" statement_identifier : (expression_statement "iVar9 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x10)" identifier = (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;)) (expression_statement "uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);" (assignment_expression "uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5)" identifier = (call_expression "dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5)" identifier (argument_list "(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5)" ( number_literal , (string_literal ""Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);" (call_expression "warn(uVar11,(int)lVar28,(int)piVar2 - iVar9)" identifier (argument_list "(uVar11,(int)lVar28,(int)piVar2 - iVar9)" ( identifier , (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier) , (binary_expression "(int)piVar2 - iVar9" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) ))) ;) (labeled_statement "LAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }" statement_identifier : (if_statement "if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }" if (parenthesized_expression "((int)local_8c < 1)" ( (binary_expression "(int)local_8c < 1" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }" { (expression_statement "pcVar10 = (char *)dcgettext(0," <no entries>",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0," <no entries>",5)" identifier = (cast_expression "(char *)dcgettext(0," <no entries>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," <no entries>",5)" identifier (argument_list "(0," <no entries>",5)" ( number_literal , (string_literal "" <no entries>"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) }))) (expression_statement "putc(10,*(FILE **)puVar6);" (call_expression "putc(10,*(FILE **)puVar6)" identifier (argument_list "(10,*(FILE **)puVar6)" ( number_literal , (pointer_expression "*(FILE **)puVar6" * (cast_expression "(FILE **)puVar6" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" identifier = (binary_expression "local_60 + 1" identifier + number_literal)) ;) (expression_statement "local_50 = (int *)((int)local_50 + local_7c);" (assignment_expression "local_50 = (int *)((int)local_50 + local_7c)" identifier = (cast_expression "(int *)((int)local_50 + local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_50 + local_7c)" ( (binary_expression "(int)local_50 + local_7c" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "local_4c = (int *)((int)local_4c + local_7c);" (assignment_expression "local_4c = (int *)((int)local_4c + local_7c)" identifier = (cast_expression "(int *)((int)local_4c + local_7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_4c + local_7c)" ( (binary_expression "(int)local_4c + local_7c" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "(local_60 != local_44)" ( (binary_expression "local_60 != local_44" identifier != identifier) )) ;) })) (expression_statement "free(local_74);" (call_expression "free(local_74)" identifier (argument_list "(local_74)" ( identifier ))) ;) (expression_statement "piVar2 = local_80;" (assignment_expression "piVar2 = local_80" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier short) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression LIT < (binary_expression IDENT - LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) || (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 ( IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) , IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression LIT < (binary_expression IDENT - LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 ( IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 ( IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression LIT < (binary_expression IDENT - LIT))) ))) )) (goto_statement goto statement_identifier ;)))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (goto_statement goto statement_identifier ;)) (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 ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression LIT < (binary_expression IDENT - LIT))) ))) )) (goto_statement goto statement_identifier ;)))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (binary_expression IDENT - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (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 ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression (binary_expression IDENT - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression (binary_expression IDENT - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT << LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (binary_expression IDENT - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , LIT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (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 = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) ))) < IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - LIT) < LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT)) )))) ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) ))) < IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - LIT) < LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * IDENT)) )))) ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (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 = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression (binary_expression IDENT - LIT) < 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 , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (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 = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * IDENT) == LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , (string_literal " string_content escape_sequence ") , IDENT , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (binary_expression IDENT + IDENT) != IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT % IDENT) == (binary_expression IDENT % IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (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 = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) != LIT) || (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) != LIT)) )) || (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT) || (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT)) ))) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " escape_sequence string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - LIT) < LIT)) ))) )) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT < IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - LIT) < LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , (subscript_expression IDENT [ IDENT ]) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression & IDENT)) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) && (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT)) )) && (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) && (binary_expression IDENT == LIT)) ))) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT , IDENT , IDENT , LIT , LIT , LIT , LIT , IDENT , LIT , LIT , LIT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) , LIT , LIT , LIT ))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (labeled_statement statement_identifier : (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 = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "undefined4 FUN_00057f30(int param_1)\n\n{\n  longlong *plVar1;\n  int *piVar2;\n  uint uVar3;\n  ulonglong uVar4;\n  longlong lVar5;\n  undefined *puVar6;\n  ushort uVar7;\n  short sVar8;\n  int iVar9;\n  char *pcVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int *piVar15;\n  int *piVar16;\n  longlong *plVar17;\n  undefined *puVar18;\n  uint *puVar19;\n  int iVar20;\n  uint uVar21;\n  int *piVar22;\n  int *piVar23;\n  uint *puVar24;\n  longlong lVar25;\n  undefined8 uVar26;\n  undefined8 uVar27;\n  longlong lVar28;\n  int local_94;\n  int *local_8c;\n  int *local_88;\n  int *local_80;\n  int local_7c;\n  int local_78;\n  longlong *local_74;\n  uint local_70;\n  int local_6c;\n  int local_68;\n  int *local_64;\n  int local_60;\n  int *local_50;\n  int *local_4c;\n  int local_44;\n  int local_20 [4];\n  \n  piVar2 = *(int **)(param_1 + 0x10);\n  piVar23 = (int *)((int)piVar2 + *(int *)(param_1 + 0x1c));\n  FUN_0004eb10();\n  FUN_0004e110();\n  do {\n    if (piVar23 <= piVar2) {\n      return 1;\n    }\n    piVar16 = piVar2 + 1;\n    piVar15 = piVar16;\n    if (piVar16 < piVar23) {\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }\n    uVar14 = (uint)(uVar4 >> 0x20);\n    if (*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }\n    piVar16 = (int *)((int)piVar15 + 2);\n    if (piVar16 < local_80) {\n      iVar9 = 2;\n    }\n    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }\n    uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);\n    pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar10,(uint)uVar7);\n    if (uVar7 != 5) {\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }\n    piVar22 = piVar15 + 1;\n    if (piVar22 < local_80) {\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }\n    piVar22 = piVar15 + 2;\n    piVar16 = piVar15 + 3;\n    if (piVar16 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }\n    else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }\n    puVar6 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar10);\n    if (local_88 != (int *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar10);\n    if (local_78 != 0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar10);\n    if (local_74 != (longlong *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }\n    putc(10,*(FILE **)puVar6);\n    puVar24 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar24);\n    local_50 = (int *)((int)local_4c + local_68);\n    local_68 = local_68 + (int)local_50;\n    piVar16 = (int *)(local_6c + local_68);\n    if (local_80 < piVar16) {\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }\n    pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5);\n    printf(pcVar10,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5);\n    printf(pcVar10,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    \n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (longlong *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    \n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }\n    pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar10);\n    if (local_44 != 0) {\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }\n    free(local_74);\n    piVar2 = local_80;\n  } while( true );\n}" (type_identifier "undefined4") (function_declarator "FUN_00057f30(int param_1)" (identifier "FUN_00057f30") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  longlong *plVar1;\n  int *piVar2;\n  uint uVar3;\n  ulonglong uVar4;\n  longlong lVar5;\n  undefined *puVar6;\n  ushort uVar7;\n  short sVar8;\n  int iVar9;\n  char *pcVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int *piVar15;\n  int *piVar16;\n  longlong *plVar17;\n  undefined *puVar18;\n  uint *puVar19;\n  int iVar20;\n  uint uVar21;\n  int *piVar22;\n  int *piVar23;\n  uint *puVar24;\n  longlong lVar25;\n  undefined8 uVar26;\n  undefined8 uVar27;\n  longlong lVar28;\n  int local_94;\n  int *local_8c;\n  int *local_88;\n  int *local_80;\n  int local_7c;\n  int local_78;\n  longlong *local_74;\n  uint local_70;\n  int local_6c;\n  int local_68;\n  int *local_64;\n  int local_60;\n  int *local_50;\n  int *local_4c;\n  int local_44;\n  int local_20 [4];\n  \n  piVar2 = *(int **)(param_1 + 0x10);\n  piVar23 = (int *)((int)piVar2 + *(int *)(param_1 + 0x1c));\n  FUN_0004eb10();\n  FUN_0004e110();\n  do {\n    if (piVar23 <= piVar2) {\n      return 1;\n    }\n    piVar16 = piVar2 + 1;\n    piVar15 = piVar16;\n    if (piVar16 < piVar23) {\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }\n    uVar14 = (uint)(uVar4 >> 0x20);\n    if (*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }\n    piVar16 = (int *)((int)piVar15 + 2);\n    if (piVar16 < local_80) {\n      iVar9 = 2;\n    }\n    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }\n    uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);\n    pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar10,(uint)uVar7);\n    if (uVar7 != 5) {\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }\n    piVar22 = piVar15 + 1;\n    if (piVar22 < local_80) {\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }\n    piVar22 = piVar15 + 2;\n    piVar16 = piVar15 + 3;\n    if (piVar16 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }\n    else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }\n    puVar6 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar10);\n    if (local_88 != (int *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar10);\n    if (local_78 != 0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar10);\n    if (local_74 != (longlong *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }\n    putc(10,*(FILE **)puVar6);\n    puVar24 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar24);\n    local_50 = (int *)((int)local_4c + local_68);\n    local_68 = local_68 + (int)local_50;\n    piVar16 = (int *)(local_6c + local_68);\n    if (local_80 < piVar16) {\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }\n    pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5);\n    printf(pcVar10,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5);\n    printf(pcVar10,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    \n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (longlong *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    \n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }\n    pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar10);\n    if (local_44 != 0) {\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }\n    free(local_74);\n    piVar2 = local_80;\n  } while( true );\n}" ({ "{") (declaration "longlong *plVar1;" (type_identifier "longlong") (pointer_declarator "*plVar1" (* "*") (identifier "plVar1")) (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "ulonglong uVar4;" (type_identifier "ulonglong") (identifier "uVar4") (; ";")) (declaration "longlong lVar5;" (type_identifier "longlong") (identifier "lVar5") (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "ushort uVar7;" (type_identifier "ushort") (identifier "uVar7") (; ";")) (declaration "short sVar8;" (sized_type_specifier "short" (short "short")) (identifier "sVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "char *pcVar10;" (primitive_type "char") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "undefined4 uVar13;" (type_identifier "undefined4") (identifier "uVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "int *piVar15;" (primitive_type "int") (pointer_declarator "*piVar15" (* "*") (identifier "piVar15")) (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "longlong *plVar17;" (type_identifier "longlong") (pointer_declarator "*plVar17" (* "*") (identifier "plVar17")) (; ";")) (declaration "undefined *puVar18;" (type_identifier "undefined") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "uint *puVar19;" (type_identifier "uint") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "uint uVar21;" (type_identifier "uint") (identifier "uVar21") (; ";")) (declaration "int *piVar22;" (primitive_type "int") (pointer_declarator "*piVar22" (* "*") (identifier "piVar22")) (; ";")) (declaration "int *piVar23;" (primitive_type "int") (pointer_declarator "*piVar23" (* "*") (identifier "piVar23")) (; ";")) (declaration "uint *puVar24;" (type_identifier "uint") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "longlong lVar25;" (type_identifier "longlong") (identifier "lVar25") (; ";")) (declaration "undefined8 uVar26;" (type_identifier "undefined8") (identifier "uVar26") (; ";")) (declaration "undefined8 uVar27;" (type_identifier "undefined8") (identifier "uVar27") (; ";")) (declaration "longlong lVar28;" (type_identifier "longlong") (identifier "lVar28") (; ";")) (declaration "int local_94;" (primitive_type "int") (identifier "local_94") (; ";")) (declaration "int *local_8c;" (primitive_type "int") (pointer_declarator "*local_8c" (* "*") (identifier "local_8c")) (; ";")) (declaration "int *local_88;" (primitive_type "int") (pointer_declarator "*local_88" (* "*") (identifier "local_88")) (; ";")) (declaration "int *local_80;" (primitive_type "int") (pointer_declarator "*local_80" (* "*") (identifier "local_80")) (; ";")) (declaration "int local_7c;" (primitive_type "int") (identifier "local_7c") (; ";")) (declaration "int local_78;" (primitive_type "int") (identifier "local_78") (; ";")) (declaration "longlong *local_74;" (type_identifier "longlong") (pointer_declarator "*local_74" (* "*") (identifier "local_74")) (; ";")) (declaration "uint local_70;" (type_identifier "uint") (identifier "local_70") (; ";")) (declaration "int local_6c;" (primitive_type "int") (identifier "local_6c") (; ";")) (declaration "int local_68;" (primitive_type "int") (identifier "local_68") (; ";")) (declaration "int *local_64;" (primitive_type "int") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "int local_60;" (primitive_type "int") (identifier "local_60") (; ";")) (declaration "int *local_50;" (primitive_type "int") (pointer_declarator "*local_50" (* "*") (identifier "local_50")) (; ";")) (declaration "int *local_4c;" (primitive_type "int") (pointer_declarator "*local_4c" (* "*") (identifier "local_4c")) (; ";")) (declaration "int local_44;" (primitive_type "int") (identifier "local_44") (; ";")) (declaration "int local_20 [4];" (primitive_type "int") (array_declarator "local_20 [4]" (identifier "local_20") ([ "[") (number_literal "4") (] "]")) (; ";")) (expression_statement "piVar2 = *(int **)(param_1 + 0x10);" (assignment_expression "piVar2 = *(int **)(param_1 + 0x10)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(param_1 + 0x10)" (* "*") (cast_expression "(int **)(param_1 + 0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "piVar23 = (int *)((int)piVar2 + *(int *)(param_1 + 0x1c));" (assignment_expression "piVar23 = (int *)((int)piVar2 + *(int *)(param_1 + 0x1c))" (identifier "piVar23") (= "=") (cast_expression "(int *)((int)piVar2 + *(int *)(param_1 + 0x1c))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + *(int *)(param_1 + 0x1c))" (( "(") (binary_expression "(int)piVar2 + *(int *)(param_1 + 0x1c)" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")))) (; ";")) (expression_statement "FUN_0004eb10();" (call_expression "FUN_0004eb10()" (identifier "FUN_0004eb10") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0004e110();" (call_expression "FUN_0004e110()" (identifier "FUN_0004e110") (argument_list "()" (( "(") () ")"))) (; ";")) (do_statement "do {\n    if (piVar23 <= piVar2) {\n      return 1;\n    }\n    piVar16 = piVar2 + 1;\n    piVar15 = piVar16;\n    if (piVar16 < piVar23) {\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }\n    uVar14 = (uint)(uVar4 >> 0x20);\n    if (*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }\n    piVar16 = (int *)((int)piVar15 + 2);\n    if (piVar16 < local_80) {\n      iVar9 = 2;\n    }\n    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }\n    uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);\n    pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar10,(uint)uVar7);\n    if (uVar7 != 5) {\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }\n    piVar22 = piVar15 + 1;\n    if (piVar22 < local_80) {\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }\n    piVar22 = piVar15 + 2;\n    piVar16 = piVar15 + 3;\n    if (piVar16 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }\n    else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }\n    puVar6 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar10);\n    if (local_88 != (int *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar10);\n    if (local_78 != 0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar10);\n    if (local_74 != (longlong *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }\n    putc(10,*(FILE **)puVar6);\n    puVar24 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar24);\n    local_50 = (int *)((int)local_4c + local_68);\n    local_68 = local_68 + (int)local_50;\n    piVar16 = (int *)(local_6c + local_68);\n    if (local_80 < piVar16) {\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }\n    pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5);\n    printf(pcVar10,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5);\n    printf(pcVar10,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    \n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (longlong *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    \n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }\n    pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar10);\n    if (local_44 != 0) {\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }\n    free(local_74);\n    piVar2 = local_80;\n  } while( true );" (do "do") (compound_statement "{\n    if (piVar23 <= piVar2) {\n      return 1;\n    }\n    piVar16 = piVar2 + 1;\n    piVar15 = piVar16;\n    if (piVar16 < piVar23) {\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }\n    uVar14 = (uint)(uVar4 >> 0x20);\n    if (*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }\n    piVar16 = (int *)((int)piVar15 + 2);\n    if (piVar16 < local_80) {\n      iVar9 = 2;\n    }\n    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }\n    uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);\n    pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n    printf(pcVar10,(uint)uVar7);\n    if (uVar7 != 5) {\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }\n    piVar22 = piVar15 + 1;\n    if (piVar22 < local_80) {\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }\n    piVar22 = piVar15 + 2;\n    piVar16 = piVar15 + 3;\n    if (piVar16 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }\n    else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }\n    puVar6 = PTR_stdout_000b3fd8;\n    putc(10,*(FILE **)PTR_stdout_000b3fd8);\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"CU table:\n",5);\n    printf(pcVar10);\n    if (local_88 != (int *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"TU table:\n",5);\n    printf(pcVar10);\n    if (local_78 != 0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }\n    putc(10,*(FILE **)puVar6);\n    pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);\n    printf(pcVar10);\n    if (local_74 != (longlong *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }\n    putc(10,*(FILE **)puVar6);\n    puVar24 = (uint *)((int)local_64 + (int)local_8c);\n    local_4c = (int *)(local_60 + (int)puVar24);\n    local_50 = (int *)((int)local_4c + local_68);\n    local_68 = local_68 + (int)local_50;\n    piVar16 = (int *)(local_6c + local_68);\n    if (local_80 < piVar16) {\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }\n    iVar9 = 0;\n    if (local_70 != 0) {\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }\n    pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5);\n    printf(pcVar10,iVar9,local_70);\n    if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }\n    pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5);\n    printf(pcVar10,local_44,local_78,local_88);\n    if (local_44 != iVar9) {\n                    \n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }\n    local_88 = (int *)0x0;\n    local_74 = (longlong *)0x0;\n    local_8c = (int *)0x0;\n    while( true ) {\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    \n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }\n    pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);\n    printf(pcVar10);\n    if (local_44 != 0) {\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }\n    free(local_74);\n    piVar2 = local_80;\n  }" ({ "{") (if_statement "if (piVar23 <= piVar2) {\n      return 1;\n    }" (if "if") (parenthesized_expression "(piVar23 <= piVar2)" (( "(") (binary_expression "piVar23 <= piVar2" (identifier "piVar23") (<= "<=") (identifier "piVar2")) () ")")) (compound_statement "{\n      return 1;\n    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "piVar16 = piVar2 + 1;" (assignment_expression "piVar16 = piVar2 + 1" (identifier "piVar16") (= "=") (binary_expression "piVar2 + 1" (identifier "piVar2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar15 = piVar16;" (assignment_expression "piVar15 = piVar16" (identifier "piVar15") (= "=") (identifier "piVar16")) (; ";")) (if_statement "if (piVar16 < piVar23) {\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }\n    else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }" (if "if") (parenthesized_expression "(piVar16 < piVar23)" (( "(") (binary_expression "piVar16 < piVar23" (identifier "piVar16") (< "<") (identifier "piVar23")) () ")")) (compound_statement "{\n      iVar9 = 4;\nLAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);\n      local_7c = 4;\n      if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }\n      local_94 = (int)lVar25;\n      local_80 = (int *)((int)piVar15 + local_94);\n      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);\n      uVar4 = lVar25 + (ulonglong)uVar14;\n      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;\n    }" ({ "{") (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" (identifier "iVar9") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_00058065:\n      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);" (statement_identifier "LAB_00058065") (: ":") (expression_statement "lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);" (assignment_expression "lVar25 = (*DAT_000b9dd4)(piVar2,iVar9)" (identifier "lVar25") (= "=") (call_expression "(*DAT_000b9dd4)(piVar2,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" (( "(") (pointer_expression "*DAT_000b9dd4" (* "*") (identifier "DAT_000b9dd4")) () ")")) (argument_list "(piVar2,iVar9)" (( "(") (identifier "piVar2") (, ",") (identifier "iVar9") () ")")))) (; ";"))) (expression_statement "local_7c = 4;" (assignment_expression "local_7c = 4" (identifier "local_7c") (= "=") (number_literal "4")) (; ";")) (if_statement "if (lVar25 == 0xffffffff) {\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }" (if "if") (parenthesized_expression "(lVar25 == 0xffffffff)" (( "(") (binary_expression "lVar25 == 0xffffffff" (identifier "lVar25") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n        piVar15 = piVar2 + 3;\n        if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }\n        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);\n        local_7c = 8;\n      }" ({ "{") (expression_statement "piVar15 = piVar2 + 3;" (assignment_expression "piVar15 = piVar2 + 3" (identifier "piVar15") (= "=") (binary_expression "piVar2 + 3" (identifier "piVar2") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (piVar15 < piVar23) {\n          iVar9 = 8;\n        }\n        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }" (if "if") (parenthesized_expression "(piVar15 < piVar23)" (( "(") (binary_expression "piVar15 < piVar23" (identifier "piVar15") (< "<") (identifier "piVar23")) () ")")) (compound_statement "{\n          iVar9 = 8;\n        }" ({ "{") (expression_statement "iVar9 = 8;" (assignment_expression "iVar9 = 8" (identifier "iVar9") (= "=") (number_literal "8")) (; ";")) (} "}")) (else_clause "else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }" (else "else") (if_statement "if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {\n          local_7c = 8;\n          goto LAB_00057fac;\n        }" (if "if") (parenthesized_expression "((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U))" (( "(") (binary_expression "(piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)" (parenthesized_expression "(piVar23 <= piVar16)" (( "(") (binary_expression "piVar23 <= piVar16" (identifier "piVar23") (<= "<=") (identifier "piVar16")) () ")")) (|| "||") (parenthesized_expression "(iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)" (( "(") (comma_expression "iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U" (assignment_expression "iVar9 = (int)piVar23 - (int)piVar16" (identifier "iVar9") (= "=") (binary_expression "(int)piVar23 - (int)piVar16" (cast_expression "(int)piVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar23")) (- "-") (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")))) (, ",") (binary_expression "7 < iVar9 - 1U" (number_literal "7") (< "<") (binary_expression "iVar9 - 1U" (identifier "iVar9") (- "-") (number_literal "1U")))) () ")"))) () ")")) (compound_statement "{\n          local_7c = 8;\n          goto LAB_00057fac;\n        }" ({ "{") (expression_statement "local_7c = 8;" (assignment_expression "local_7c = 8" (identifier "local_7c") (= "=") (number_literal "8")) (; ";")) (goto_statement "goto LAB_00057fac;" (goto "goto") (statement_identifier "LAB_00057fac") (; ";")) (} "}"))))) (expression_statement "lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);" (assignment_expression "lVar25 = (*DAT_000b9dd4)(piVar16,iVar9)" (identifier "lVar25") (= "=") (call_expression "(*DAT_000b9dd4)(piVar16,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" (( "(") (pointer_expression "*DAT_000b9dd4" (* "*") (identifier "DAT_000b9dd4")) () ")")) (argument_list "(piVar16,iVar9)" (( "(") (identifier "piVar16") (, ",") (identifier "iVar9") () ")")))) (; ";")) (expression_statement "local_7c = 8;" (assignment_expression "local_7c = 8" (identifier "local_7c") (= "=") (number_literal "8")) (; ";")) (} "}"))) (expression_statement "local_94 = (int)lVar25;" (assignment_expression "local_94 = (int)lVar25" (identifier "local_94") (= "=") (cast_expression "(int)lVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar25"))) (; ";")) (expression_statement "local_80 = (int *)((int)piVar15 + local_94);" (assignment_expression "local_80 = (int *)((int)piVar15 + local_94)" (identifier "local_80") (= "=") (cast_expression "(int *)((int)piVar15 + local_94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + local_94)" (( "(") (binary_expression "(int)piVar15 + local_94" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (identifier "local_94")) () ")")))) (; ";")) (expression_statement "uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);" (assignment_expression "uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10)" (identifier "uVar14") (= "=") (binary_expression "(int)piVar15 - *(int *)(param_1 + 0x10)" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (- "-") (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (expression_statement "uVar4 = lVar25 + (ulonglong)uVar14;" (assignment_expression "uVar4 = lVar25 + (ulonglong)uVar14" (identifier "uVar4") (= "=") (binary_expression "lVar25 + (ulonglong)uVar14" (identifier "lVar25") (+ "+") (cast_expression "(ulonglong)uVar14" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar14")))) (; ";")) (if_statement "if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;" (if "if") (parenthesized_expression "((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14))" (( "(") (binary_expression "(uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)" (call_expression "(uint)(uVar4 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar4 >> 0x20)" (( "(") (binary_expression "uVar4 >> 0x20" (identifier "uVar4") (>> ">>") (number_literal "0x20")) () ")"))) (< "<") (call_expression "(uint)((uint)uVar4 < uVar14)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)uVar4 < uVar14)" (( "(") (binary_expression "(uint)uVar4 < uVar14" (cast_expression "(uint)uVar4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar4")) (< "<") (identifier "uVar14")) () ")")))) () ")")) (goto_statement "goto LAB_000580cc;" (goto "goto") (statement_identifier "LAB_000580cc") (; ";"))) (} "}")) (else_clause "else {\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }" (else "else") (compound_statement "{\n      iVar9 = (int)piVar23 - (int)piVar2;\n      if (iVar9 - 1U < 8) goto LAB_00058065;\n      local_7c = 4;\nLAB_00057fac:\n      local_94 = 0;\n      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));\n      local_80 = piVar15;\n    }" ({ "{") (expression_statement "iVar9 = (int)piVar23 - (int)piVar2;" (assignment_expression "iVar9 = (int)piVar23 - (int)piVar2" (identifier "iVar9") (= "=") (binary_expression "(int)piVar23 - (int)piVar2" (cast_expression "(int)piVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar23")) (- "-") (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")))) (; ";")) (if_statement "if (iVar9 - 1U < 8) goto LAB_00058065;" (if "if") (parenthesized_expression "(iVar9 - 1U < 8)" (( "(") (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" (identifier "iVar9") (- "-") (number_literal "1U")) (< "<") (number_literal "8")) () ")")) (goto_statement "goto LAB_00058065;" (goto "goto") (statement_identifier "LAB_00058065") (; ";"))) (expression_statement "local_7c = 4;" (assignment_expression "local_7c = 4" (identifier "local_7c") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_00057fac:\n      local_94 = 0;" (statement_identifier "LAB_00057fac") (: ":") (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";"))) (expression_statement "uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));" (assignment_expression "uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10))" (identifier "uVar4") (= "=") (call_expression "(ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10))" (call_expression "(ulonglong)(uint)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(uint)" (( "(") (identifier "uint") () ")"))) (argument_list "((int)piVar15 - *(int *)(param_1 + 0x10))" (( "(") (binary_expression "(int)piVar15 - *(int *)(param_1 + 0x10)" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (- "-") (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) () ")")))) (; ";")) (expression_statement "local_80 = piVar15;" (assignment_expression "local_80 = piVar15" (identifier "local_80") (= "=") (identifier "piVar15")) (; ";")) (} "}")))) (expression_statement "uVar14 = (uint)(uVar4 >> 0x20);" (assignment_expression "uVar14 = (uint)(uVar4 >> 0x20)" (identifier "uVar14") (= "=") (call_expression "(uint)(uVar4 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar4 >> 0x20)" (( "(") (binary_expression "uVar4 >> 0x20" (identifier "uVar4") (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if (*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }" (if "if") (parenthesized_expression "(*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4))" (( "(") (binary_expression "*(uint *)(param_1 + 0x20) < uVar14 ||\n        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)" (binary_expression "*(uint *)(param_1 + 0x20) < uVar14" (pointer_expression "*(uint *)(param_1 + 0x20)" (* "*") (cast_expression "(uint *)(param_1 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (< "<") (identifier "uVar14")) (|| "||") (binary_expression "*(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)" (binary_expression "*(uint *)(param_1 + 0x20) - uVar14" (pointer_expression "*(uint *)(param_1 + 0x20)" (* "*") (cast_expression "(uint *)(param_1 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (- "-") (identifier "uVar14")) (< "<") (call_expression "(uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(param_1 + 0x1c) < (uint)uVar4)" (( "(") (binary_expression "*(uint *)(param_1 + 0x1c) < (uint)uVar4" (pointer_expression "*(uint *)(param_1 + 0x1c)" (* "*") (cast_expression "(uint *)(param_1 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (< "<") (cast_expression "(uint)uVar4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar4"))) () ")"))))) () ")")) (compound_statement "{\nLAB_000580cc:\n      uVar12 = FUN_0004cb30(0);\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = *(undefined4 *)(param_1 + 8);\n      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);\n      return 0;\n    }" ({ "{") (labeled_statement "LAB_000580cc:\n      uVar12 = FUN_0004cb30(0);" (statement_identifier "LAB_000580cc") (: ":") (expression_statement "uVar12 = FUN_0004cb30(0);" (assignment_expression "uVar12 = FUN_0004cb30(0)" (identifier "uVar12") (= "=") (call_expression "FUN_0004cb30(0)" (identifier "FUN_0004cb30") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";"))) (expression_statement "iVar9 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x10)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar11 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar11 = *(undefined4 *)(param_1 + 8)" (identifier "uVar11") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);" (assignment_expression "uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" (identifier "uVar13") (= "=") (call_expression "dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" (identifier "dcgettext") (argument_list "(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Debug info is corrupted, %s header at %#lx has length %s\n"" (" """) (string_content "Debug info is corrupted, %s header at %#lx has length %s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);" (call_expression "warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12)" (identifier "warn") (argument_list "(uVar13,uVar11,(int)piVar2 - iVar9,uVar12)" (( "(") (identifier "uVar13") (, ",") (identifier "uVar11") (, ",") (binary_expression "(int)piVar2 - iVar9" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (- "-") (identifier "iVar9")) (, ",") (identifier "uVar12") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "piVar16 = (int *)((int)piVar15 + 2);" (assignment_expression "piVar16 = (int *)((int)piVar15 + 2)" (identifier "piVar16") (= "=") (cast_expression "(int *)((int)piVar15 + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 2)" (( "(") (binary_expression "(int)piVar15 + 2" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (if_statement "if (piVar16 < local_80) {\n      iVar9 = 2;\n    }\n    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }" (if "if") (parenthesized_expression "(piVar16 < local_80)" (( "(") (binary_expression "piVar16 < local_80" (identifier "piVar16") (< "<") (identifier "local_80")) () ")")) (compound_statement "{\n      iVar9 = 2;\n    }" ({ "{") (expression_statement "iVar9 = 2;" (assignment_expression "iVar9 = 2" (identifier "iVar9") (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }" (else "else") (if_statement "if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }" (if "if") (parenthesized_expression "((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U))" (( "(") (binary_expression "(local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)" (parenthesized_expression "(local_80 <= piVar15)" (( "(") (binary_expression "local_80 <= piVar15" (identifier "local_80") (<= "<=") (identifier "piVar15")) () ")")) (|| "||") (parenthesized_expression "(iVar9 = local_94, 7 < local_94 - 1U)" (( "(") (comma_expression "iVar9 = local_94, 7 < local_94 - 1U" (assignment_expression "iVar9 = local_94" (identifier "iVar9") (= "=") (identifier "local_94")) (, ",") (binary_expression "7 < local_94 - 1U" (number_literal "7") (< "<") (binary_expression "local_94 - 1U" (identifier "local_94") (- "-") (number_literal "1U")))) () ")"))) () ")")) (compound_statement "{\n      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);\n      printf(pcVar10,0);\n      goto LAB_00058029;\n    }" ({ "{") (expression_statement "pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Version %ld\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"Version %ld\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"Version %ld\n",5)" (identifier "dcgettext") (argument_list "(0,"Version %ld\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Version %ld\n"" (" """) (string_content "Version %ld") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,0);" (call_expression "printf(pcVar10,0)" (identifier "printf") (argument_list "(pcVar10,0)" (( "(") (identifier "pcVar10") (, ",") (number_literal "0") () ")"))) (; ";")) (goto_statement "goto LAB_00058029;" (goto "goto") (statement_identifier "LAB_00058029") (; ";")) (} "}"))))) (expression_statement "uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);" (assignment_expression "uVar7 = (*DAT_000b9dd4)(piVar15,iVar9)" (identifier "uVar7") (= "=") (call_expression "(*DAT_000b9dd4)(piVar15,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" (( "(") (pointer_expression "*DAT_000b9dd4" (* "*") (identifier "DAT_000b9dd4")) () ")")) (argument_list "(piVar15,iVar9)" (( "(") (identifier "piVar15") (, ",") (identifier "iVar9") () ")")))) (; ";")) (expression_statement "pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Version %ld\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"Version %ld\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"Version %ld\n",5)" (identifier "dcgettext") (argument_list "(0,"Version %ld\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Version %ld\n"" (" """) (string_content "Version %ld") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,(uint)uVar7);" (call_expression "printf(pcVar10,(uint)uVar7)" (identifier "printf") (argument_list "(pcVar10,(uint)uVar7)" (( "(") (identifier "pcVar10") (, ",") (cast_expression "(uint)uVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar7")) () ")"))) (; ";")) (if_statement "if (uVar7 != 5) {\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }" (if "if") (parenthesized_expression "(uVar7 != 5)" (( "(") (binary_expression "uVar7 != 5" (identifier "uVar7") (!= "!=") (number_literal "5")) () ")")) (compound_statement "{\nLAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);\n      warn(uVar11);\n      return 0;\n    }" ({ "{") (labeled_statement "LAB_00058029:\n      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);" (statement_identifier "LAB_00058029") (: ":") (expression_statement "uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);" (assignment_expression "uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5)" (identifier "uVar11") (= "=") (call_expression "dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5)" (identifier "dcgettext") (argument_list "(0,"Only DWARF version 5 .debug_names is currently supported.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Only DWARF version 5 .debug_names is currently supported.\n"" (" """) (string_content "Only DWARF version 5 .debug_names is currently supported.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "warn(uVar11);" (call_expression "warn(uVar11)" (identifier "warn") (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "piVar22 = piVar15 + 1;" (assignment_expression "piVar22 = piVar15 + 1" (identifier "piVar22") (= "=") (binary_expression "piVar15 + 1" (identifier "piVar15") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (piVar22 < local_80) {\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }\n    else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }" (if "if") (parenthesized_expression "(piVar22 < local_80)" (( "(") (binary_expression "piVar22 < local_80" (identifier "piVar22") (< "<") (identifier "local_80")) () ")")) (compound_statement "{\n      local_94 = 2;\nLAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);\n      if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }\n      if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;\n      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);\n      if (local_88 == (int *)0x0) goto LAB_000581d8;\n    }" ({ "{") (expression_statement "local_94 = 2;" (assignment_expression "local_94 = 2" (identifier "local_94") (= "=") (number_literal "2")) (; ";")) (labeled_statement "LAB_00058e95:\n      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);" (statement_identifier "LAB_00058e95") (: ":") (expression_statement "sVar8 = (*DAT_000b9dd4)(piVar16,local_94);" (assignment_expression "sVar8 = (*DAT_000b9dd4)(piVar16,local_94)" (identifier "sVar8") (= "=") (call_expression "(*DAT_000b9dd4)(piVar16,local_94)" (parenthesized_expression "(*DAT_000b9dd4)" (( "(") (pointer_expression "*DAT_000b9dd4" (* "*") (identifier "DAT_000b9dd4")) () ")")) (argument_list "(piVar16,local_94)" (( "(") (identifier "piVar16") (, ",") (identifier "local_94") () ")")))) (; ";"))) (if_statement "if (sVar8 != 0) {\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }" (if "if") (parenthesized_expression "(sVar8 != 0)" (( "(") (binary_expression "sVar8 != 0" (identifier "sVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);\n        warn(uVar11,sVar8);\n      }" ({ "{") (expression_statement "uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);" (assignment_expression "uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5)" (identifier "uVar11") (= "=") (call_expression "dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5)" (identifier "dcgettext") (argument_list "(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Padding field of .debug_names must be 0 (found 0x%x)\n"" (" """) (string_content "Padding field of .debug_names must be 0 (found 0x%x)") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar11,sVar8);" (call_expression "warn(uVar11,sVar8)" (identifier "warn") (argument_list "(uVar11,sVar8)" (( "(") (identifier "uVar11") (, ",") (identifier "sVar8") () ")"))) (; ";")) (} "}"))) (if_statement "if (piVar15 + 2 < local_80) {\nLAB_000581ba:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;" (if "if") (parenthesized_expression "(piVar15 + 2 < local_80)" (( "(") (binary_expression "piVar15 + 2 < local_80" (binary_expression "piVar15 + 2" (identifier "piVar15") (+ "+") (number_literal "2")) (< "<") (identifier "local_80")) () ")")) (compound_statement "{\nLAB_000581ba:\n        iVar9 = 4;\n      }" ({ "{") (labeled_statement "LAB_000581ba:\n        iVar9 = 4;" (statement_identifier "LAB_000581ba") (: ":") (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" (identifier "iVar9") (= "=") (number_literal "4")) (; ";"))) (} "}")) (else_clause "else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;" (else "else") (if_statement "if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))\n      goto LAB_000581d8;" (if "if") (parenthesized_expression "((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))" (( "(") (binary_expression "(local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U)" (parenthesized_expression "(local_80 <= piVar22)" (( "(") (binary_expression "local_80 <= piVar22" (identifier "local_80") (<= "<=") (identifier "piVar22")) () ")")) (|| "||") (parenthesized_expression "(iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U)" (( "(") (comma_expression "iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U" (assignment_expression "iVar9 = (int)local_80 - (int)piVar22" (identifier "iVar9") (= "=") (binary_expression "(int)local_80 - (int)piVar22" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)piVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar22")))) (, ",") (binary_expression "7 < iVar9 - 1U" (number_literal "7") (< "<") (binary_expression "iVar9 - 1U" (identifier "iVar9") (- "-") (number_literal "1U")))) () ")"))) () ")")) (goto_statement "goto LAB_000581d8;" (goto "goto") (statement_identifier "LAB_000581d8") (; ";"))))) (expression_statement "local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);" (assignment_expression "local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9)" (identifier "local_88") (= "=") (cast_expression "(int *)(*DAT_000b9dd4)(piVar22,iVar9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*DAT_000b9dd4)(piVar22,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" (( "(") (pointer_expression "*DAT_000b9dd4" (* "*") (identifier "DAT_000b9dd4")) () ")")) (argument_list "(piVar22,iVar9)" (( "(") (identifier "piVar22") (, ",") (identifier "iVar9") () ")"))))) (; ";")) (if_statement "if (local_88 == (int *)0x0) goto LAB_000581d8;" (if "if") (parenthesized_expression "(local_88 == (int *)0x0)" (( "(") (binary_expression "local_88 == (int *)0x0" (identifier "local_88") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000581d8;" (goto "goto") (statement_identifier "LAB_000581d8") (; ";"))) (} "}")) (else_clause "else {\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }" (else "else") (compound_statement "{\n      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }\n      if (piVar15 + 2 < local_80) goto LAB_000581ba;\nLAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);\n      warn(uVar11);\n      local_88 = (int *)0x0;\n    }" ({ "{") (if_statement "if ((piVar16 < local_80) && (local_94 - 3U < 8)) {\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }" (if "if") (parenthesized_expression "((piVar16 < local_80) && (local_94 - 3U < 8))" (( "(") (binary_expression "(piVar16 < local_80) && (local_94 - 3U < 8)" (parenthesized_expression "(piVar16 < local_80)" (( "(") (binary_expression "piVar16 < local_80" (identifier "piVar16") (< "<") (identifier "local_80")) () ")")) (&& "&&") (parenthesized_expression "(local_94 - 3U < 8)" (( "(") (binary_expression "local_94 - 3U < 8" (binary_expression "local_94 - 3U" (identifier "local_94") (- "-") (number_literal "3U")) (< "<") (number_literal "8")) () ")"))) () ")")) (compound_statement "{\n        local_94 = local_94 + -2;\n        goto LAB_00058e95;\n      }" ({ "{") (expression_statement "local_94 = local_94 + -2;" (assignment_expression "local_94 = local_94 + -2" (identifier "local_94") (= "=") (binary_expression "local_94 + -2" (identifier "local_94") (+ "+") (number_literal "-2"))) (; ";")) (goto_statement "goto LAB_00058e95;" (goto "goto") (statement_identifier "LAB_00058e95") (; ";")) (} "}"))) (if_statement "if (piVar15 + 2 < local_80) goto LAB_000581ba;" (if "if") (parenthesized_expression "(piVar15 + 2 < local_80)" (( "(") (binary_expression "piVar15 + 2 < local_80" (binary_expression "piVar15 + 2" (identifier "piVar15") (+ "+") (number_literal "2")) (< "<") (identifier "local_80")) () ")")) (goto_statement "goto LAB_000581ba;" (goto "goto") (statement_identifier "LAB_000581ba") (; ";"))) (labeled_statement "LAB_000581d8:\n      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);" (statement_identifier "LAB_000581d8") (: ":") (expression_statement "uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);" (assignment_expression "uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5)" (identifier "uVar11") (= "=") (call_expression "dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5)" (identifier "dcgettext") (argument_list "(0,"Compilation unit count must be >= 1 in .debug_names\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Compilation unit count must be >= 1 in .debug_names\n"" (" """) (string_content "Compilation unit count must be >= 1 in .debug_names") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "warn(uVar11);" (call_expression "warn(uVar11)" (identifier "warn") (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "local_88 = (int *)0x0;" (assignment_expression "local_88 = (int *)0x0" (identifier "local_88") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (expression_statement "piVar22 = piVar15 + 2;" (assignment_expression "piVar22 = piVar15 + 2" (identifier "piVar22") (= "=") (binary_expression "piVar15 + 2" (identifier "piVar15") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "piVar16 = piVar15 + 3;" (assignment_expression "piVar16 = piVar15 + 3" (identifier "piVar16") (= "=") (binary_expression "piVar15 + 3" (identifier "piVar15") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (piVar16 < local_80) {\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }\n    else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }" (if "if") (parenthesized_expression "(piVar16 < local_80)" (( "(") (binary_expression "piVar16 < local_80" (identifier "piVar16") (< "<") (identifier "local_80")) () ")")) (compound_statement "{\n      iVar9 = 4;\nLAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);\n      if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;\n      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);\n      if (piVar15 + 5 < local_80) goto LAB_00058f60;\n      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;\nLAB_0005824f:\n      local_64 = (int *)0x0;\n      local_70 = 0;\n      if (local_80 <= piVar15 + 6) goto LAB_0005826c;\nLAB_00058e1a:\n      iVar9 = 4;\nLAB_00058e1f:\n      piVar16 = piVar15 + 6;\n      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);\n      local_60 = local_44 * 4;\n      local_68 = local_44 * local_7c;\n      if (piVar15 + 7 < local_80) goto LAB_00058df0;\n      if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }\n      uVar14 = ((int)local_80 - (int)piVar16) - 1;\n      if (7 < uVar14) goto LAB_00058291;\n      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);\n      if (local_80 <= piVar15 + 8) goto LAB_0005838d;\nLAB_00058e10:\n      iVar9 = 4;\nLAB_000582ab:\n      local_8c = piVar15 + 8;\n      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);\n      if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n      if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }\n    }" ({ "{") (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" (identifier "iVar9") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_00058ee1:\n      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);" (statement_identifier "LAB_00058ee1") (: ":") (expression_statement "local_78 = (*DAT_000b9dd4)(piVar22,iVar9);" (assignment_expression "local_78 = (*DAT_000b9dd4)(piVar22,iVar9)" (identifier "local_78") (= "=") (call_expression "(*DAT_000b9dd4)(piVar22,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" (( "(") (pointer_expression "*DAT_000b9dd4" (* "*") (identifier "DAT_000b9dd4")) () ")")) (argument_list "(piVar22,iVar9)" (( "(") (identifier "piVar22") (, ",") (identifier "iVar9") () ")")))) (; ";"))) (if_statement "if (piVar15 + 4 < local_80) {\nLAB_00058f20:\n        iVar9 = 4;\n      }\n      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;" (if "if") (parenthesized_expression "(piVar15 + 4 < local_80)" (( "(") (binary_expression "piVar15 + 4 < local_80" (binary_expression "piVar15 + 4" (identifier "piVar15") (+ "+") (number_literal "4")) (< "<") (identifier "local_80")) () ")")) (compound_statement "{\nLAB_00058f20:\n        iVar9 = 4;\n      }" ({ "{") (labeled_statement "LAB_00058f20:\n        iVar9 = 4;" (statement_identifier "LAB_00058f20") (: ":") (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" (identifier "iVar9") (= "=") (number_literal "4")) (; ";"))) (} "}")) (else_clause "else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;" (else "else") (if_statement "if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))\n      goto LAB_0005823a;" (if "if") (parenthesized_expression "((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))" (( "(") (binary_expression "(local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U)" (parenthesized_expression "(local_80 <= piVar16)" (( "(") (binary_expression "local_80 <= piVar16" (identifier "local_80") (<= "<=") (identifier "piVar16")) () ")")) (|| "||") (parenthesized_expression "(iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U)" (( "(") (comma_expression "iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U" (assignment_expression "iVar9 = (int)local_80 - (int)piVar16" (identifier "iVar9") (= "=") (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")))) (, ",") (binary_expression "7 < iVar9 - 1U" (number_literal "7") (< "<") (binary_expression "iVar9 - 1U" (identifier "iVar9") (- "-") (number_literal "1U")))) () ")"))) () ")")) (goto_statement "goto LAB_0005823a;" (goto "goto") (statement_identifier "LAB_0005823a") (; ";"))))) (expression_statement "local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);" (assignment_expression "local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9)" (identifier "local_74") (= "=") (cast_expression "(longlong *)(*DAT_000b9dd4)(piVar16,iVar9)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*DAT_000b9dd4)(piVar16,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" (( "(") (pointer_expression "*DAT_000b9dd4" (* "*") (identifier "DAT_000b9dd4")) () ")")) (argument_list "(piVar16,iVar9)" (( "(") (identifier "piVar16") (, ",") (identifier "iVar9") () ")"))))) (; ";")) (if_statement "if (piVar15 + 5 < local_80) goto LAB_00058f60;" (if "if") (parenthesized_expression "(piVar15 + 5 < local_80)" (( "(") (binary_expression "piVar15 + 5 < local_80" (binary_expression "piVar15 + 5" (identifier "piVar15") (+ "+") (number_literal "5")) (< "<") (identifier "local_80")) () ")")) (goto_statement "goto LAB_00058f60;" (goto "goto") (statement_identifier "LAB_00058f60") (; ";"))) (if_statement "if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))\n      goto LAB_00058f65;" (if "if") (parenthesized_expression "((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))" (( "(") (binary_expression "(piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8)" (parenthesized_expression "(piVar15 + 4 < local_80)" (( "(") (binary_expression "piVar15 + 4 < local_80" (binary_expression "piVar15 + 4" (identifier "piVar15") (+ "+") (number_literal "4")) (< "<") (identifier "local_80")) () ")")) (&& "&&") (parenthesized_expression "(iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8)" (( "(") (comma_expression "iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)(piVar15 + 4)" (identifier "iVar9") (= "=") (binary_expression "(int)local_80 - (int)(piVar15 + 4)" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)(piVar15 + 4)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar15 + 4)" (( "(") (binary_expression "piVar15 + 4" (identifier "piVar15") (+ "+") (number_literal "4")) () ")"))))) (, ",") (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" (identifier "iVar9") (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_00058f65;" (goto "goto") (statement_identifier "LAB_00058f65") (; ";"))) (labeled_statement "LAB_0005824f:\n      local_64 = (int *)0x0;" (statement_identifier "LAB_0005824f") (: ":") (expression_statement "local_64 = (int *)0x0;" (assignment_expression "local_64 = (int *)0x0" (identifier "local_64") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" (identifier "local_70") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_80 <= piVar15 + 6) goto LAB_0005826c;" (if "if") (parenthesized_expression "(local_80 <= piVar15 + 6)" (( "(") (binary_expression "local_80 <= piVar15 + 6" (identifier "local_80") (<= "<=") (binary_expression "piVar15 + 6" (identifier "piVar15") (+ "+") (number_literal "6"))) () ")")) (goto_statement "goto LAB_0005826c;" (goto "goto") (statement_identifier "LAB_0005826c") (; ";"))) (labeled_statement "LAB_00058e1a:\n      iVar9 = 4;" (statement_identifier "LAB_00058e1a") (: ":") (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" (identifier "iVar9") (= "=") (number_literal "4")) (; ";"))) (labeled_statement "LAB_00058e1f:\n      piVar16 = piVar15 + 6;" (statement_identifier "LAB_00058e1f") (: ":") (expression_statement "piVar16 = piVar15 + 6;" (assignment_expression "piVar16 = piVar15 + 6" (identifier "piVar16") (= "=") (binary_expression "piVar15 + 6" (identifier "piVar15") (+ "+") (number_literal "6"))) (; ";"))) (expression_statement "local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);" (assignment_expression "local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9)" (identifier "local_44") (= "=") (call_expression "(*DAT_000b9dd4)(piVar15 + 5,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" (( "(") (pointer_expression "*DAT_000b9dd4" (* "*") (identifier "DAT_000b9dd4")) () ")")) (argument_list "(piVar15 + 5,iVar9)" (( "(") (binary_expression "piVar15 + 5" (identifier "piVar15") (+ "+") (number_literal "5")) (, ",") (identifier "iVar9") () ")")))) (; ";")) (expression_statement "local_60 = local_44 * 4;" (assignment_expression "local_60 = local_44 * 4" (identifier "local_60") (= "=") (binary_expression "local_44 * 4" (identifier "local_44") (* "*") (number_literal "4"))) (; ";")) (expression_statement "local_68 = local_44 * local_7c;" (assignment_expression "local_68 = local_44 * local_7c" (identifier "local_68") (= "=") (binary_expression "local_44 * local_7c" (identifier "local_44") (* "*") (identifier "local_7c"))) (; ";")) (if_statement "if (piVar15 + 7 < local_80) goto LAB_00058df0;" (if "if") (parenthesized_expression "(piVar15 + 7 < local_80)" (( "(") (binary_expression "piVar15 + 7 < local_80" (binary_expression "piVar15 + 7" (identifier "piVar15") (+ "+") (number_literal "7")) (< "<") (identifier "local_80")) () ")")) (goto_statement "goto LAB_00058df0;" (goto "goto") (statement_identifier "LAB_00058df0") (; ";"))) (if_statement "if (local_80 <= piVar16) {\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }" (if "if") (parenthesized_expression "(local_80 <= piVar16)" (( "(") (binary_expression "local_80 <= piVar16" (identifier "local_80") (<= "<=") (identifier "piVar16")) () ")")) (compound_statement "{\nLAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }\n        local_6c = 0;\n        goto LAB_0005838d;\n      }" ({ "{") (labeled_statement "LAB_00058291:\n        if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }" (statement_identifier "LAB_00058291") (: ":") (if_statement "if (piVar15 + 8 < local_80) {\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }" (if "if") (parenthesized_expression "(piVar15 + 8 < local_80)" (( "(") (binary_expression "piVar15 + 8 < local_80" (binary_expression "piVar15 + 8" (identifier "piVar15") (+ "+") (number_literal "8")) (< "<") (identifier "local_80")) () ")")) (compound_statement "{\n          local_6c = 0;\n          iVar9 = 4;\n          goto LAB_000582ab;\n        }" ({ "{") (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" (identifier "iVar9") (= "=") (number_literal "4")) (; ";")) (goto_statement "goto LAB_000582ab;" (goto "goto") (statement_identifier "LAB_000582ab") (; ";")) (} "}")))) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0005838d;" (goto "goto") (statement_identifier "LAB_0005838d") (; ";")) (} "}"))) (expression_statement "uVar14 = ((int)local_80 - (int)piVar16) - 1;" (assignment_expression "uVar14 = ((int)local_80 - (int)piVar16) - 1" (identifier "uVar14") (= "=") (binary_expression "((int)local_80 - (int)piVar16) - 1" (parenthesized_expression "((int)local_80 - (int)piVar16)" (( "(") (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16"))) () ")")) (- "-") (number_literal "1"))) (; ";")) (if_statement "if (7 < uVar14) goto LAB_00058291;" (if "if") (parenthesized_expression "(7 < uVar14)" (( "(") (binary_expression "7 < uVar14" (number_literal "7") (< "<") (identifier "uVar14")) () ")")) (goto_statement "goto LAB_00058291;" (goto "goto") (statement_identifier "LAB_00058291") (; ";"))) (expression_statement "local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);" (assignment_expression "local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14)" (identifier "local_6c") (= "=") (call_expression "(*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14)" (parenthesized_expression "(*DAT_000b9dd4)" (( "(") (pointer_expression "*DAT_000b9dd4" (* "*") (identifier "DAT_000b9dd4")) () ")")) (argument_list "(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14)" (( "(") (identifier "piVar16") (, ",") (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16"))) (, ",") (identifier "uVar14") (, ",") (identifier "uVar14") () ")")))) (; ";")) (if_statement "if (local_80 <= piVar15 + 8) goto LAB_0005838d;" (if "if") (parenthesized_expression "(local_80 <= piVar15 + 8)" (( "(") (binary_expression "local_80 <= piVar15 + 8" (identifier "local_80") (<= "<=") (binary_expression "piVar15 + 8" (identifier "piVar15") (+ "+") (number_literal "8"))) () ")")) (goto_statement "goto LAB_0005838d;" (goto "goto") (statement_identifier "LAB_0005838d") (; ";"))) (labeled_statement "LAB_00058e10:\n      iVar9 = 4;" (statement_identifier "LAB_00058e10") (: ":") (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" (identifier "iVar9") (= "=") (number_literal "4")) (; ";"))) (labeled_statement "LAB_000582ab:\n      local_8c = piVar15 + 8;" (statement_identifier "LAB_000582ab") (: ":") (expression_statement "local_8c = piVar15 + 8;" (assignment_expression "local_8c = piVar15 + 8" (identifier "local_8c") (= "=") (binary_expression "piVar15 + 8" (identifier "piVar15") (+ "+") (number_literal "8"))) (; ";"))) (expression_statement "uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);" (assignment_expression "uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9)" (identifier "uVar14") (= "=") (call_expression "(*DAT_000b9dd4)(piVar15 + 7,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" (( "(") (pointer_expression "*DAT_000b9dd4" (* "*") (identifier "DAT_000b9dd4")) () ")")) (argument_list "(piVar15 + 7,iVar9)" (( "(") (binary_expression "piVar15 + 7" (identifier "piVar15") (+ "+") (number_literal "7")) (, ",") (identifier "iVar9") () ")")))) (; ";")) (if_statement "if ((uVar14 & 3) != 0) {\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }" (if "if") (parenthesized_expression "((uVar14 & 3) != 0)" (( "(") (binary_expression "(uVar14 & 3) != 0" (parenthesized_expression "(uVar14 & 3)" (( "(") (binary_expression "uVar14 & 3" (identifier "uVar14") (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);\n        warn(uVar11,uVar14);\n        uVar14 = uVar14 + (-uVar14 & 3);\n      }" ({ "{") (expression_statement "uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5);" (assignment_expression "uVar11 = dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5)" (identifier "uVar11") (= "=") (call_expression "dcgettext(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5)" (identifier "dcgettext") (argument_list "(0,\n                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"\n                           ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"" (" """) (string_content "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar11,uVar14);" (call_expression "warn(uVar11,uVar14)" (identifier "warn") (argument_list "(uVar11,uVar14)" (( "(") (identifier "uVar11") (, ",") (identifier "uVar14") () ")"))) (; ";")) (expression_statement "uVar14 = uVar14 + (-uVar14 & 3);" (assignment_expression "uVar14 = uVar14 + (-uVar14 & 3)" (identifier "uVar14") (= "=") (binary_expression "uVar14 + (-uVar14 & 3)" (identifier "uVar14") (+ "+") (parenthesized_expression "(-uVar14 & 3)" (( "(") (binary_expression "-uVar14 & 3" (unary_expression "-uVar14" (- "-") (identifier "uVar14")) (& "&") (number_literal "3")) () ")")))) (; ";")) (} "}"))) (expression_statement "pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Augmentation string:",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"Augmentation string:",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"Augmentation string:",5)" (identifier "dcgettext") (argument_list "(0,"Augmentation string:",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Augmentation string:"" (" """) (string_content "Augmentation string:") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" (identifier "printf") (argument_list "(pcVar10)" (( "(") (identifier "pcVar10") () ")"))) (; ";")) (if_statement "if (uVar14 != 0) {\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }" (if "if") (parenthesized_expression "(uVar14 != 0)" (( "(") (binary_expression "uVar14 != 0" (identifier "uVar14") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        piVar16 = (int *)((int)local_8c + uVar14);\n        piVar15 = local_8c;\n        do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);\n      }" ({ "{") (expression_statement "piVar16 = (int *)((int)local_8c + uVar14);" (assignment_expression "piVar16 = (int *)((int)local_8c + uVar14)" (identifier "piVar16") (= "=") (cast_expression "(int *)((int)local_8c + uVar14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_8c + uVar14)" (( "(") (binary_expression "(int)local_8c + uVar14" (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c")) (+ "+") (identifier "uVar14")) () ")")))) (; ";")) (expression_statement "piVar15 = local_8c;" (assignment_expression "piVar15 = local_8c" (identifier "piVar15") (= "=") (identifier "local_8c")) (; ";")) (do_statement "do {\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        } while (piVar22 != piVar16);" (do "do") (compound_statement "{\n          piVar22 = (int *)((int)piVar15 + 1);\n          if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }\n          printf(" %02x",uVar14);\n          piVar15 = piVar22;\n          local_8c = piVar16;\n        }" ({ "{") (expression_statement "piVar22 = (int *)((int)piVar15 + 1);" (assignment_expression "piVar22 = (int *)((int)piVar15 + 1)" (identifier "piVar22") (= "=") (cast_expression "(int *)((int)piVar15 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 1)" (( "(") (binary_expression "(int)piVar15 + 1" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (piVar22 < local_80) {\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }\n          else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }" (if "if") (parenthesized_expression "(piVar22 < local_80)" (( "(") (binary_expression "piVar22 < local_80" (identifier "piVar22") (< "<") (identifier "local_80")) () ")")) (compound_statement "{\n            iVar9 = 1;\nLAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);\n            uVar14 = uVar14 & 0xff;\n          }" ({ "{") (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" (identifier "iVar9") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_00058368:\n            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);" (statement_identifier "LAB_00058368") (: ":") (expression_statement "uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);" (assignment_expression "uVar14 = (*DAT_000b9dd4)(piVar15,iVar9)" (identifier "uVar14") (= "=") (call_expression "(*DAT_000b9dd4)(piVar15,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" (( "(") (pointer_expression "*DAT_000b9dd4" (* "*") (identifier "DAT_000b9dd4")) () ")")) (argument_list "(piVar15,iVar9)" (( "(") (identifier "piVar15") (, ",") (identifier "iVar9") () ")")))) (; ";"))) (expression_statement "uVar14 = uVar14 & 0xff;" (assignment_expression "uVar14 = uVar14 & 0xff" (identifier "uVar14") (= "=") (binary_expression "uVar14 & 0xff" (identifier "uVar14") (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }" (else "else") (compound_statement "{\n            uVar14 = 0;\n            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;\n          }" ({ "{") (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" (identifier "uVar14") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))\n            goto LAB_00058368;" (if "if") (parenthesized_expression "((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))" (( "(") (binary_expression "(piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8)" (parenthesized_expression "(piVar15 < local_80)" (( "(") (binary_expression "piVar15 < local_80" (identifier "piVar15") (< "<") (identifier "local_80")) () ")")) (&& "&&") (parenthesized_expression "(iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8)" (( "(") (comma_expression "iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)piVar15" (identifier "iVar9") (= "=") (binary_expression "(int)local_80 - (int)piVar15" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")))) (, ",") (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" (identifier "iVar9") (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_00058368;" (goto "goto") (statement_identifier "LAB_00058368") (; ";"))) (} "}")))) (expression_statement "printf(" %02x",uVar14);" (call_expression "printf(" %02x",uVar14)" (identifier "printf") (argument_list "(" %02x",uVar14)" (( "(") (string_literal "" %02x"" (" """) (string_content " %02x") (" """)) (, ",") (identifier "uVar14") () ")"))) (; ";")) (expression_statement "piVar15 = piVar22;" (assignment_expression "piVar15 = piVar22" (identifier "piVar15") (= "=") (identifier "piVar22")) (; ";")) (expression_statement "local_8c = piVar16;" (assignment_expression "local_8c = piVar16" (identifier "local_8c") (= "=") (identifier "piVar16")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar22 != piVar16)" (( "(") (binary_expression "piVar22 != piVar16" (identifier "piVar22") (!= "!=") (identifier "piVar16")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }" (else "else") (compound_statement "{\n      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;\n      local_78 = 0;\n      if (piVar15 + 4 < local_80) goto LAB_00058f20;\nLAB_0005823a:\n      local_74 = (longlong *)0x0;\n      if (local_80 <= piVar15 + 5) goto LAB_0005824f;\nLAB_00058f60:\n      iVar9 = 4;\nLAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);\n      local_64 = (int *)(local_70 << 2);\n      if (piVar15 + 6 < local_80) goto LAB_00058e1a;\n      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;\nLAB_0005826c:\n      local_68 = 0;\n      local_60 = 0;\n      local_44 = 0;\n      if (local_80 <= piVar15 + 7) goto LAB_00058291;\nLAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);\n      if (piVar15 + 8 < local_80) goto LAB_00058e10;\n      iVar9 = (int)local_80 - (int)(piVar15 + 7);\n      if (iVar9 - 1U < 8) goto LAB_000582ab;\nLAB_0005838d:\n      local_8c = piVar15 + 8;\n      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);\n      printf(pcVar10);\n    }" ({ "{") (if_statement "if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))\n      goto LAB_00058ee1;" (if "if") (parenthesized_expression "((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))" (( "(") (binary_expression "(piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8)" (parenthesized_expression "(piVar22 < local_80)" (( "(") (binary_expression "piVar22 < local_80" (identifier "piVar22") (< "<") (identifier "local_80")) () ")")) (&& "&&") (parenthesized_expression "(iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8)" (( "(") (comma_expression "iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)piVar22" (identifier "iVar9") (= "=") (binary_expression "(int)local_80 - (int)piVar22" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)piVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar22")))) (, ",") (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" (identifier "iVar9") (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_00058ee1;" (goto "goto") (statement_identifier "LAB_00058ee1") (; ";"))) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";")) (if_statement "if (piVar15 + 4 < local_80) goto LAB_00058f20;" (if "if") (parenthesized_expression "(piVar15 + 4 < local_80)" (( "(") (binary_expression "piVar15 + 4 < local_80" (binary_expression "piVar15 + 4" (identifier "piVar15") (+ "+") (number_literal "4")) (< "<") (identifier "local_80")) () ")")) (goto_statement "goto LAB_00058f20;" (goto "goto") (statement_identifier "LAB_00058f20") (; ";"))) (labeled_statement "LAB_0005823a:\n      local_74 = (longlong *)0x0;" (statement_identifier "LAB_0005823a") (: ":") (expression_statement "local_74 = (longlong *)0x0;" (assignment_expression "local_74 = (longlong *)0x0" (identifier "local_74") (= "=") (cast_expression "(longlong *)0x0" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (if_statement "if (local_80 <= piVar15 + 5) goto LAB_0005824f;" (if "if") (parenthesized_expression "(local_80 <= piVar15 + 5)" (( "(") (binary_expression "local_80 <= piVar15 + 5" (identifier "local_80") (<= "<=") (binary_expression "piVar15 + 5" (identifier "piVar15") (+ "+") (number_literal "5"))) () ")")) (goto_statement "goto LAB_0005824f;" (goto "goto") (statement_identifier "LAB_0005824f") (; ";"))) (labeled_statement "LAB_00058f60:\n      iVar9 = 4;" (statement_identifier "LAB_00058f60") (: ":") (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" (identifier "iVar9") (= "=") (number_literal "4")) (; ";"))) (labeled_statement "LAB_00058f65:\n      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);" (statement_identifier "LAB_00058f65") (: ":") (expression_statement "local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);" (assignment_expression "local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9)" (identifier "local_70") (= "=") (call_expression "(*DAT_000b9dd4)(piVar15 + 4,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" (( "(") (pointer_expression "*DAT_000b9dd4" (* "*") (identifier "DAT_000b9dd4")) () ")")) (argument_list "(piVar15 + 4,iVar9)" (( "(") (binary_expression "piVar15 + 4" (identifier "piVar15") (+ "+") (number_literal "4")) (, ",") (identifier "iVar9") () ")")))) (; ";"))) (expression_statement "local_64 = (int *)(local_70 << 2);" (assignment_expression "local_64 = (int *)(local_70 << 2)" (identifier "local_64") (= "=") (cast_expression "(int *)(local_70 << 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_70 << 2)" (( "(") (binary_expression "local_70 << 2" (identifier "local_70") (<< "<<") (number_literal "2")) () ")")))) (; ";")) (if_statement "if (piVar15 + 6 < local_80) goto LAB_00058e1a;" (if "if") (parenthesized_expression "(piVar15 + 6 < local_80)" (( "(") (binary_expression "piVar15 + 6 < local_80" (binary_expression "piVar15 + 6" (identifier "piVar15") (+ "+") (number_literal "6")) (< "<") (identifier "local_80")) () ")")) (goto_statement "goto LAB_00058e1a;" (goto "goto") (statement_identifier "LAB_00058e1a") (; ";"))) (if_statement "if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))\n      goto LAB_00058e1f;" (if "if") (parenthesized_expression "((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))" (( "(") (binary_expression "(piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8)" (parenthesized_expression "(piVar15 + 5 < local_80)" (( "(") (binary_expression "piVar15 + 5 < local_80" (binary_expression "piVar15 + 5" (identifier "piVar15") (+ "+") (number_literal "5")) (< "<") (identifier "local_80")) () ")")) (&& "&&") (parenthesized_expression "(iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8)" (( "(") (comma_expression "iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)(piVar15 + 5)" (identifier "iVar9") (= "=") (binary_expression "(int)local_80 - (int)(piVar15 + 5)" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)(piVar15 + 5)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar15 + 5)" (( "(") (binary_expression "piVar15 + 5" (identifier "piVar15") (+ "+") (number_literal "5")) () ")"))))) (, ",") (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" (identifier "iVar9") (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_00058e1f;" (goto "goto") (statement_identifier "LAB_00058e1f") (; ";"))) (labeled_statement "LAB_0005826c:\n      local_68 = 0;" (statement_identifier "LAB_0005826c") (: ":") (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";"))) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" (identifier "local_44") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_80 <= piVar15 + 7) goto LAB_00058291;" (if "if") (parenthesized_expression "(local_80 <= piVar15 + 7)" (( "(") (binary_expression "local_80 <= piVar15 + 7" (identifier "local_80") (<= "<=") (binary_expression "piVar15 + 7" (identifier "piVar15") (+ "+") (number_literal "7"))) () ")")) (goto_statement "goto LAB_00058291;" (goto "goto") (statement_identifier "LAB_00058291") (; ";"))) (labeled_statement "LAB_00058df0:\n      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);" (statement_identifier "LAB_00058df0") (: ":") (expression_statement "local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);" (assignment_expression "local_6c = (*DAT_000b9dd4)(piVar15 + 6,4)" (identifier "local_6c") (= "=") (call_expression "(*DAT_000b9dd4)(piVar15 + 6,4)" (parenthesized_expression "(*DAT_000b9dd4)" (( "(") (pointer_expression "*DAT_000b9dd4" (* "*") (identifier "DAT_000b9dd4")) () ")")) (argument_list "(piVar15 + 6,4)" (( "(") (binary_expression "piVar15 + 6" (identifier "piVar15") (+ "+") (number_literal "6")) (, ",") (number_literal "4") () ")")))) (; ";"))) (if_statement "if (piVar15 + 8 < local_80) goto LAB_00058e10;" (if "if") (parenthesized_expression "(piVar15 + 8 < local_80)" (( "(") (binary_expression "piVar15 + 8 < local_80" (binary_expression "piVar15 + 8" (identifier "piVar15") (+ "+") (number_literal "8")) (< "<") (identifier "local_80")) () ")")) (goto_statement "goto LAB_00058e10;" (goto "goto") (statement_identifier "LAB_00058e10") (; ";"))) (expression_statement "iVar9 = (int)local_80 - (int)(piVar15 + 7);" (assignment_expression "iVar9 = (int)local_80 - (int)(piVar15 + 7)" (identifier "iVar9") (= "=") (binary_expression "(int)local_80 - (int)(piVar15 + 7)" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)(piVar15 + 7)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar15 + 7)" (( "(") (binary_expression "piVar15 + 7" (identifier "piVar15") (+ "+") (number_literal "7")) () ")"))))) (; ";")) (if_statement "if (iVar9 - 1U < 8) goto LAB_000582ab;" (if "if") (parenthesized_expression "(iVar9 - 1U < 8)" (( "(") (binary_expression "iVar9 - 1U < 8" (binary_expression "iVar9 - 1U" (identifier "iVar9") (- "-") (number_literal "1U")) (< "<") (number_literal "8")) () ")")) (goto_statement "goto LAB_000582ab;" (goto "goto") (statement_identifier "LAB_000582ab") (; ";"))) (labeled_statement "LAB_0005838d:\n      local_8c = piVar15 + 8;" (statement_identifier "LAB_0005838d") (: ":") (expression_statement "local_8c = piVar15 + 8;" (assignment_expression "local_8c = piVar15 + 8" (identifier "local_8c") (= "=") (binary_expression "piVar15 + 8" (identifier "piVar15") (+ "+") (number_literal "8"))) (; ";"))) (expression_statement "pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Augmentation string:",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"Augmentation string:",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"Augmentation string:",5)" (identifier "dcgettext") (argument_list "(0,"Augmentation string:",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Augmentation string:"" (" """) (string_content "Augmentation string:") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" (identifier "printf") (argument_list "(pcVar10)" (( "(") (identifier "pcVar10") () ")"))) (; ";")) (} "}")))) (expression_statement "puVar6 = PTR_stdout_000b3fd8;" (assignment_expression "puVar6 = PTR_stdout_000b3fd8" (identifier "puVar6") (= "=") (identifier "PTR_stdout_000b3fd8")) (; ";")) (expression_statement "putc(10,*(FILE **)PTR_stdout_000b3fd8);" (call_expression "putc(10,*(FILE **)PTR_stdout_000b3fd8)" (identifier "putc") (argument_list "(10,*(FILE **)PTR_stdout_000b3fd8)" (( "(") (number_literal "10") (, ",") (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" (* "*") (cast_expression "(FILE **)PTR_stdout_000b3fd8" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stdout_000b3fd8"))) () ")"))) (; ";")) (expression_statement "putc(10,*(FILE **)puVar6);" (call_expression "putc(10,*(FILE **)puVar6)" (identifier "putc") (argument_list "(10,*(FILE **)puVar6)" (( "(") (number_literal "10") (, ",") (pointer_expression "*(FILE **)puVar6" (* "*") (cast_expression "(FILE **)puVar6" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar6"))) () ")"))) (; ";")) (expression_statement "pcVar10 = (char *)dcgettext(0,"CU table:\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"CU table:\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"CU table:\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"CU table:\n",5)" (identifier "dcgettext") (argument_list "(0,"CU table:\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""CU table:\n"" (" """) (string_content "CU table:") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" (identifier "printf") (argument_list "(pcVar10)" (( "(") (identifier "pcVar10") () ")"))) (; ";")) (if_statement "if (local_88 != (int *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }" (if "if") (parenthesized_expression "(local_88 != (int *)0x0)" (( "(") (binary_expression "local_88 != (int *)0x0" (identifier "local_88") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);\n      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);\n    }" ({ "{") (expression_statement "piVar16 = local_8c;" (assignment_expression "piVar16 = local_8c" (identifier "piVar16") (= "=") (identifier "local_8c")) (; ";")) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (local_88 != (int *)iVar20);" (do "do") (compound_statement "{\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      }" ({ "{") (expression_statement "piVar15 = (int *)((int)piVar16 + local_7c);" (assignment_expression "piVar15 = (int *)((int)piVar16 + local_7c)" (identifier "piVar15") (= "=") (cast_expression "(int *)((int)piVar16 + local_7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar16 + local_7c)" (( "(") (binary_expression "(int)piVar16 + local_7c" (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")) (+ "+") (identifier "local_7c")) () ")")))) (; ";")) (expression_statement "iVar20 = local_7c;" (assignment_expression "iVar20 = local_7c" (identifier "iVar20") (= "=") (identifier "local_7c")) (; ";")) (if_statement "if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }" (if "if") (parenthesized_expression "((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8))))" (( "(") (binary_expression "(piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))" (parenthesized_expression "(piVar15 < local_80)" (( "(") (binary_expression "piVar15 < local_80" (identifier "piVar15") (< "<") (identifier "local_80")) () ")")) (|| "||") (parenthesized_expression "((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))" (( "(") (parenthesized_expression "(uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8))" (( "(") (comma_expression "uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (, ",") (binary_expression "(int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)" (binary_expression "(int *)((int)piVar15 - local_7c) < local_80" (cast_expression "(int *)((int)piVar15 - local_7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 - local_7c)" (( "(") (binary_expression "(int)piVar15 - local_7c" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (- "-") (identifier "local_7c")) () ")"))) (< "<") (identifier "local_80")) (&& "&&") (parenthesized_expression "(iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)" (( "(") (comma_expression "iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8" (assignment_expression "iVar20 = (int)local_80 - (int)piVar16" (identifier "iVar20") (= "=") (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")))) (, ",") (binary_expression "((int)local_80 - (int)piVar16) - 1U < 8" (binary_expression "((int)local_80 - (int)piVar16) - 1U" (parenthesized_expression "((int)local_80 - (int)piVar16)" (( "(") (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16"))) () ")")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }" ({ "{") (expression_statement "uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);" (assignment_expression "uVar11 = (*DAT_000b9dd4)(piVar16,iVar20)" (identifier "uVar11") (= "=") (call_expression "(*DAT_000b9dd4)(piVar16,iVar20)" (parenthesized_expression "(*DAT_000b9dd4)" (( "(") (pointer_expression "*DAT_000b9dd4" (* "*") (identifier "DAT_000b9dd4")) () ")")) (argument_list "(piVar16,iVar20)" (( "(") (identifier "piVar16") (, ",") (identifier "iVar20") () ")")))) (; ";")) (} "}"))) (expression_statement "pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"[%3u] 0x%lx\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"[%3u] 0x%lx\n",5)" (identifier "dcgettext") (argument_list "(0,"[%3u] 0x%lx\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""[%3u] 0x%lx\n"" (" """) (string_content "[%3u] 0x%lx") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "iVar20 = iVar9 + 1;" (assignment_expression "iVar20 = iVar9 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "printf(pcVar10,iVar9,uVar11);" (call_expression "printf(pcVar10,iVar9,uVar11)" (identifier "printf") (argument_list "(pcVar10,iVar9,uVar11)" (( "(") (identifier "pcVar10") (, ",") (identifier "iVar9") (, ",") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "piVar16 = piVar15;" (assignment_expression "piVar16 = piVar15" (identifier "piVar16") (= "=") (identifier "piVar15")) (; ";")) (expression_statement "iVar9 = iVar20;" (assignment_expression "iVar9 = iVar20" (identifier "iVar9") (= "=") (identifier "iVar20")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_88 != (int *)iVar20)" (( "(") (binary_expression "local_88 != (int *)iVar20" (identifier "local_88") (!= "!=") (cast_expression "(int *)iVar20" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iVar20"))) () ")")) (; ";")) (expression_statement "local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);" (assignment_expression "local_8c = (int *)((int)local_8c + (int)local_88 * local_7c)" (identifier "local_8c") (= "=") (cast_expression "(int *)((int)local_8c + (int)local_88 * local_7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_8c + (int)local_88 * local_7c)" (( "(") (binary_expression "(int)local_8c + (int)local_88 * local_7c" (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c")) (+ "+") (binary_expression "(int)local_88 * local_7c" (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (* "*") (identifier "local_7c"))) () ")")))) (; ";")) (} "}"))) (expression_statement "putc(10,*(FILE **)puVar6);" (call_expression "putc(10,*(FILE **)puVar6)" (identifier "putc") (argument_list "(10,*(FILE **)puVar6)" (( "(") (number_literal "10") (, ",") (pointer_expression "*(FILE **)puVar6" (* "*") (cast_expression "(FILE **)puVar6" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar6"))) () ")"))) (; ";")) (expression_statement "pcVar10 = (char *)dcgettext(0,"TU table:\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"TU table:\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"TU table:\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"TU table:\n",5)" (identifier "dcgettext") (argument_list "(0,"TU table:\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""TU table:\n"" (" """) (string_content "TU table:") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" (identifier "printf") (argument_list "(pcVar10)" (( "(") (identifier "pcVar10") () ")"))) (; ";")) (if_statement "if (local_78 != 0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }" (if "if") (parenthesized_expression "(local_78 != 0)" (( "(") (binary_expression "local_78 != 0" (identifier "local_78") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);\n      local_8c = (int *)((int)local_8c + iVar20 * local_7c);\n    }" ({ "{") (expression_statement "piVar16 = local_8c;" (assignment_expression "piVar16 = local_8c" (identifier "piVar16") (= "=") (identifier "local_8c")) (; ";")) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      } while (iVar20 != local_78);" (do "do") (compound_statement "{\n        piVar15 = (int *)((int)piVar16 + local_7c);\n        iVar20 = local_7c;\n        if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9,uVar11);\n        piVar16 = piVar15;\n        iVar9 = iVar20;\n      }" ({ "{") (expression_statement "piVar15 = (int *)((int)piVar16 + local_7c);" (assignment_expression "piVar15 = (int *)((int)piVar16 + local_7c)" (identifier "piVar15") (= "=") (cast_expression "(int *)((int)piVar16 + local_7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar16 + local_7c)" (( "(") (binary_expression "(int)piVar16 + local_7c" (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")) (+ "+") (identifier "local_7c")) () ")")))) (; ";")) (expression_statement "iVar20 = local_7c;" (assignment_expression "iVar20 = local_7c" (identifier "iVar20") (= "=") (identifier "local_7c")) (; ";")) (if_statement "if ((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }" (if "if") (parenthesized_expression "((piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8))))" (( "(") (binary_expression "(piVar15 < local_80) ||\n           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))" (parenthesized_expression "(piVar15 < local_80)" (( "(") (binary_expression "piVar15 < local_80" (identifier "piVar15") (< "<") (identifier "local_80")) () ")")) (|| "||") (parenthesized_expression "((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))" (( "(") (parenthesized_expression "(uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8))" (( "(") (comma_expression "uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (, ",") (binary_expression "(int *)((int)piVar15 - local_7c) < local_80 &&\n            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)" (binary_expression "(int *)((int)piVar15 - local_7c) < local_80" (cast_expression "(int *)((int)piVar15 - local_7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 - local_7c)" (( "(") (binary_expression "(int)piVar15 - local_7c" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (- "-") (identifier "local_7c")) () ")"))) (< "<") (identifier "local_80")) (&& "&&") (parenthesized_expression "(iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)" (( "(") (comma_expression "iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8" (assignment_expression "iVar20 = (int)local_80 - (int)piVar16" (identifier "iVar20") (= "=") (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")))) (, ",") (binary_expression "((int)local_80 - (int)piVar16) - 1U < 8" (binary_expression "((int)local_80 - (int)piVar16) - 1U" (parenthesized_expression "((int)local_80 - (int)piVar16)" (( "(") (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16"))) () ")")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);\n        }" ({ "{") (expression_statement "uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);" (assignment_expression "uVar11 = (*DAT_000b9dd4)(piVar16,iVar20)" (identifier "uVar11") (= "=") (call_expression "(*DAT_000b9dd4)(piVar16,iVar20)" (parenthesized_expression "(*DAT_000b9dd4)" (( "(") (pointer_expression "*DAT_000b9dd4" (* "*") (identifier "DAT_000b9dd4")) () ")")) (argument_list "(piVar16,iVar20)" (( "(") (identifier "piVar16") (, ",") (identifier "iVar20") () ")")))) (; ";")) (} "}"))) (expression_statement "pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"[%3u] 0x%lx\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"[%3u] 0x%lx\n",5)" (identifier "dcgettext") (argument_list "(0,"[%3u] 0x%lx\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""[%3u] 0x%lx\n"" (" """) (string_content "[%3u] 0x%lx") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "iVar20 = iVar9 + 1;" (assignment_expression "iVar20 = iVar9 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "printf(pcVar10,iVar9,uVar11);" (call_expression "printf(pcVar10,iVar9,uVar11)" (identifier "printf") (argument_list "(pcVar10,iVar9,uVar11)" (( "(") (identifier "pcVar10") (, ",") (identifier "iVar9") (, ",") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "piVar16 = piVar15;" (assignment_expression "piVar16 = piVar15" (identifier "piVar16") (= "=") (identifier "piVar15")) (; ";")) (expression_statement "iVar9 = iVar20;" (assignment_expression "iVar9 = iVar20" (identifier "iVar9") (= "=") (identifier "iVar20")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar20 != local_78)" (( "(") (binary_expression "iVar20 != local_78" (identifier "iVar20") (!= "!=") (identifier "local_78")) () ")")) (; ";")) (expression_statement "local_8c = (int *)((int)local_8c + iVar20 * local_7c);" (assignment_expression "local_8c = (int *)((int)local_8c + iVar20 * local_7c)" (identifier "local_8c") (= "=") (cast_expression "(int *)((int)local_8c + iVar20 * local_7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_8c + iVar20 * local_7c)" (( "(") (binary_expression "(int)local_8c + iVar20 * local_7c" (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c")) (+ "+") (binary_expression "iVar20 * local_7c" (identifier "iVar20") (* "*") (identifier "local_7c"))) () ")")))) (; ";")) (} "}"))) (expression_statement "putc(10,*(FILE **)puVar6);" (call_expression "putc(10,*(FILE **)puVar6)" (identifier "putc") (argument_list "(10,*(FILE **)puVar6)" (( "(") (number_literal "10") (, ",") (pointer_expression "*(FILE **)puVar6" (* "*") (cast_expression "(FILE **)puVar6" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar6"))) () ")"))) (; ";")) (expression_statement "pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"Foreign TU table:\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"Foreign TU table:\n",5)" (identifier "dcgettext") (argument_list "(0,"Foreign TU table:\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Foreign TU table:\n"" (" """) (string_content "Foreign TU table:") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" (identifier "printf") (argument_list "(pcVar10)" (( "(") (identifier "pcVar10") () ")"))) (; ";")) (if_statement "if (local_74 != (longlong *)0x0) {\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }" (if "if") (parenthesized_expression "(local_74 != (longlong *)0x0)" (( "(") (binary_expression "local_74 != (longlong *)0x0" (identifier "local_74") (!= "!=") (cast_expression "(longlong *)0x0" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      piVar16 = local_8c;\n      iVar9 = 0;\n      do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);\n      local_8c = local_8c + iVar20 * 2;\n    }" ({ "{") (expression_statement "piVar16 = local_8c;" (assignment_expression "piVar16 = local_8c" (identifier "piVar16") (= "=") (identifier "local_8c")) (; ";")) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      } while ((longlong *)iVar20 != local_74);" (do "do") (compound_statement "{\n        if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;\n        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);\n        iVar20 = iVar9 + 1;\n        printf(pcVar10,iVar9);\n        FUN_0004ce40();\n        putc(10,*(FILE **)puVar6);\n        piVar16 = piVar16 + 2;\n        iVar9 = iVar20;\n      }" ({ "{") (if_statement "if (piVar16 + 2 < local_80) {\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }\n        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;" (if "if") (parenthesized_expression "(piVar16 + 2 < local_80)" (( "(") (binary_expression "piVar16 + 2 < local_80" (binary_expression "piVar16 + 2" (identifier "piVar16") (+ "+") (number_literal "2")) (< "<") (identifier "local_80")) () ")")) (compound_statement "{\n          iVar20 = 8;\nLAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);\n        }" ({ "{") (expression_statement "iVar20 = 8;" (assignment_expression "iVar20 = 8" (identifier "iVar20") (= "=") (number_literal "8")) (; ";")) (labeled_statement "LAB_0005862e:\n          (*DAT_000b9dd4)(piVar16,iVar20);" (statement_identifier "LAB_0005862e") (: ":") (expression_statement "(*DAT_000b9dd4)(piVar16,iVar20);" (call_expression "(*DAT_000b9dd4)(piVar16,iVar20)" (parenthesized_expression "(*DAT_000b9dd4)" (( "(") (pointer_expression "*DAT_000b9dd4" (* "*") (identifier "DAT_000b9dd4")) () ")")) (argument_list "(piVar16,iVar20)" (( "(") (identifier "piVar16") (, ",") (identifier "iVar20") () ")"))) (; ";"))) (} "}")) (else_clause "else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;" (else "else") (if_statement "if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))\n        goto LAB_0005862e;" (if "if") (parenthesized_expression "((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))" (( "(") (binary_expression "(piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8)" (parenthesized_expression "(piVar16 < local_80)" (( "(") (binary_expression "piVar16 < local_80" (identifier "piVar16") (< "<") (identifier "local_80")) () ")")) (&& "&&") (parenthesized_expression "(iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8)" (( "(") (comma_expression "iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8" (assignment_expression "iVar20 = (int)local_80 - (int)piVar16" (identifier "iVar20") (= "=") (binary_expression "(int)local_80 - (int)piVar16" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")))) (, ",") (binary_expression "iVar20 - 1U < 8" (binary_expression "iVar20 - 1U" (identifier "iVar20") (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_0005862e;" (goto "goto") (statement_identifier "LAB_0005862e") (; ";"))))) (expression_statement "pcVar10 = (char *)dcgettext(0,"[%3u] ",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"[%3u] ",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"[%3u] ",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"[%3u] ",5)" (identifier "dcgettext") (argument_list "(0,"[%3u] ",5)" (( "(") (number_literal "0") (, ",") (string_literal ""[%3u] "" (" """) (string_content "[%3u] ") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "iVar20 = iVar9 + 1;" (assignment_expression "iVar20 = iVar9 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "printf(pcVar10,iVar9);" (call_expression "printf(pcVar10,iVar9)" (identifier "printf") (argument_list "(pcVar10,iVar9)" (( "(") (identifier "pcVar10") (, ",") (identifier "iVar9") () ")"))) (; ";")) (expression_statement "FUN_0004ce40();" (call_expression "FUN_0004ce40()" (identifier "FUN_0004ce40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "putc(10,*(FILE **)puVar6);" (call_expression "putc(10,*(FILE **)puVar6)" (identifier "putc") (argument_list "(10,*(FILE **)puVar6)" (( "(") (number_literal "10") (, ",") (pointer_expression "*(FILE **)puVar6" (* "*") (cast_expression "(FILE **)puVar6" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar6"))) () ")"))) (; ";")) (expression_statement "piVar16 = piVar16 + 2;" (assignment_expression "piVar16 = piVar16 + 2" (identifier "piVar16") (= "=") (binary_expression "piVar16 + 2" (identifier "piVar16") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar9 = iVar20;" (assignment_expression "iVar9 = iVar20" (identifier "iVar9") (= "=") (identifier "iVar20")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((longlong *)iVar20 != local_74)" (( "(") (binary_expression "(longlong *)iVar20 != local_74" (cast_expression "(longlong *)iVar20" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iVar20")) (!= "!=") (identifier "local_74")) () ")")) (; ";")) (expression_statement "local_8c = local_8c + iVar20 * 2;" (assignment_expression "local_8c = local_8c + iVar20 * 2" (identifier "local_8c") (= "=") (binary_expression "local_8c + iVar20 * 2" (identifier "local_8c") (+ "+") (binary_expression "iVar20 * 2" (identifier "iVar20") (* "*") (number_literal "2")))) (; ";")) (} "}"))) (expression_statement "putc(10,*(FILE **)puVar6);" (call_expression "putc(10,*(FILE **)puVar6)" (identifier "putc") (argument_list "(10,*(FILE **)puVar6)" (( "(") (number_literal "10") (, ",") (pointer_expression "*(FILE **)puVar6" (* "*") (cast_expression "(FILE **)puVar6" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar6"))) () ")"))) (; ";")) (expression_statement "puVar24 = (uint *)((int)local_64 + (int)local_8c);" (assignment_expression "puVar24 = (uint *)((int)local_64 + (int)local_8c)" (identifier "puVar24") (= "=") (cast_expression "(uint *)((int)local_64 + (int)local_8c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_64 + (int)local_8c)" (( "(") (binary_expression "(int)local_64 + (int)local_8c" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c"))) () ")")))) (; ";")) (expression_statement "local_4c = (int *)(local_60 + (int)puVar24);" (assignment_expression "local_4c = (int *)(local_60 + (int)puVar24)" (identifier "local_4c") (= "=") (cast_expression "(int *)(local_60 + (int)puVar24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_60 + (int)puVar24)" (( "(") (binary_expression "local_60 + (int)puVar24" (identifier "local_60") (+ "+") (cast_expression "(int)puVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar24"))) () ")")))) (; ";")) (expression_statement "local_50 = (int *)((int)local_4c + local_68);" (assignment_expression "local_50 = (int *)((int)local_4c + local_68)" (identifier "local_50") (= "=") (cast_expression "(int *)((int)local_4c + local_68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_4c + local_68)" (( "(") (binary_expression "(int)local_4c + local_68" (cast_expression "(int)local_4c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_4c")) (+ "+") (identifier "local_68")) () ")")))) (; ";")) (expression_statement "local_68 = local_68 + (int)local_50;" (assignment_expression "local_68 = local_68 + (int)local_50" (identifier "local_68") (= "=") (binary_expression "local_68 + (int)local_50" (identifier "local_68") (+ "+") (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")))) (; ";")) (expression_statement "piVar16 = (int *)(local_6c + local_68);" (assignment_expression "piVar16 = (int *)(local_6c + local_68)" (identifier "piVar16") (= "=") (cast_expression "(int *)(local_6c + local_68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_6c + local_68)" (( "(") (binary_expression "local_6c + local_68" (identifier "local_6c") (+ "+") (identifier "local_68")) () ")")))) (; ";")) (if_statement "if (local_80 < piVar16) {\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }" (if "if") (parenthesized_expression "(local_80 < piVar16)" (( "(") (binary_expression "local_80 < piVar16" (identifier "local_80") (< "<") (identifier "piVar16")) () ")")) (compound_statement "{\n      iVar9 = *(int *)(param_1 + 0x10);\n      uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);\n      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);\n      return 0;\n    }" ({ "{") (expression_statement "iVar9 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x10)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5);" (assignment_expression "uVar11 = dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5)" (identifier "uVar11") (= "=") (call_expression "dcgettext(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5)" (identifier "dcgettext") (argument_list "(0,\n                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"\n                         ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"" (" """) (string_content "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);" (call_expression "warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9)" (identifier "warn") (argument_list "(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9)" (( "(") (identifier "uVar11") (, ",") (binary_expression "(int)piVar16 - iVar9" (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")) (- "-") (identifier "iVar9")) (, ",") (binary_expression "(int)local_80 - iVar9" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (identifier "iVar9")) (, ",") (binary_expression "(int)piVar2 - iVar9" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (- "-") (identifier "iVar9")) () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_70 != 0) {\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }" (if "if") (parenthesized_expression "(local_70 != 0)" (( "(") (binary_expression "local_70 != 0" (identifier "local_70") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar9 = 0;\n      piVar15 = local_8c + local_70;\n      do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);\n    }" ({ "{") (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar15 = local_8c + local_70;" (assignment_expression "piVar15 = local_8c + local_70" (identifier "piVar15") (= "=") (binary_expression "local_8c + local_70" (identifier "local_8c") (+ "+") (identifier "local_70"))) (; ";")) (do_statement "do {\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      } while (piVar15 != local_8c);" (do "do") (compound_statement "{\n        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);\n        local_8c = local_8c + 1;\n      }" ({ "{") (expression_statement "iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);" (assignment_expression "iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0)" (identifier "iVar9") (= "=") (binary_expression "(iVar9 + 1) - (uint)(*local_8c == 0)" (parenthesized_expression "(iVar9 + 1)" (( "(") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1")) () ")")) (- "-") (call_expression "(uint)(*local_8c == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*local_8c == 0)" (( "(") (binary_expression "*local_8c == 0" (pointer_expression "*local_8c" (* "*") (identifier "local_8c")) (== "==") (number_literal "0")) () ")"))))) (; ";")) (expression_statement "local_8c = local_8c + 1;" (assignment_expression "local_8c = local_8c + 1" (identifier "local_8c") (= "=") (binary_expression "local_8c + 1" (identifier "local_8c") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar15 != local_8c)" (( "(") (binary_expression "piVar15 != local_8c" (identifier "piVar15") (!= "!=") (identifier "local_8c")) () ")")) (; ";")) (} "}"))) (expression_statement "pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5);" (assignment_expression "pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5)" (identifier "dcngettext") (argument_list "(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70\n                                 ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""Used %zu of %lu bucket.\n"" (" """) (string_content "Used %zu of %lu bucket.") (escape_sequence "\n") (" """)) (, ",") (string_literal ""Used %zu of %lu buckets.\n"" (" """) (string_content "Used %zu of %lu buckets.") (escape_sequence "\n") (" """)) (, ",") (identifier "local_70") (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,iVar9,local_70);" (call_expression "printf(pcVar10,iVar9,local_70)" (identifier "printf") (argument_list "(pcVar10,iVar9,local_70)" (( "(") (identifier "pcVar10") (, ",") (identifier "iVar9") (, ",") (identifier "local_70") () ")"))) (; ";")) (if_statement "if (local_44 == 0) {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }\n    else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }" (if "if") (parenthesized_expression "(local_44 == 0)" (( "(") (binary_expression "local_44 == 0" (identifier "local_44") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_88 = (int *)0x0;\n      local_78 = 0;\n    }" ({ "{") (expression_statement "local_88 = (int *)0x0;" (assignment_expression "local_88 = (int *)0x0" (identifier "local_88") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }" (else "else") (compound_statement "{\n      local_88 = (int *)0x0;\n      local_78 = 0;\n      uVar21 = 0;\n      uVar14 = *puVar24;\n      puVar19 = puVar24;\n      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }\n      iVar9 = iVar9 + local_78;\n    }" ({ "{") (expression_statement "local_88 = (int *)0x0;" (assignment_expression "local_88 = (int *)0x0" (identifier "local_88") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar14 = *puVar24;" (assignment_expression "uVar14 = *puVar24" (identifier "uVar14") (= "=") (pointer_expression "*puVar24" (* "*") (identifier "puVar24"))) (; ";")) (expression_statement "puVar19 = puVar24;" (assignment_expression "puVar19 = puVar24" (identifier "puVar19") (= "=") (identifier "puVar24")) (; ";")) (while_statement "while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }" (while "while") (parenthesized_expression "(puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19)" (( "(") (comma_expression "puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19" (assignment_expression "puVar19 = puVar19 + 1" (identifier "puVar19") (= "=") (binary_expression "puVar19 + 1" (identifier "puVar19") (+ "+") (number_literal "1"))) (, ",") (binary_expression "puVar24 + local_44 != puVar19" (binary_expression "puVar24 + local_44" (identifier "puVar24") (+ "+") (identifier "local_44")) (!= "!=") (identifier "puVar19"))) () ")")) (compound_statement "{\n        uVar3 = *puVar19;\n        if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }\n      }" ({ "{") (expression_statement "uVar3 = *puVar19;" (assignment_expression "uVar3 = *puVar19" (identifier "uVar3") (= "=") (pointer_expression "*puVar19" (* "*") (identifier "puVar19"))) (; ";")) (if_statement "if (uVar14 % local_70 == uVar3 % local_70) {\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }\n        else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }" (if "if") (parenthesized_expression "(uVar14 % local_70 == uVar3 % local_70)" (( "(") (binary_expression "uVar14 % local_70 == uVar3 % local_70" (binary_expression "uVar14 % local_70" (identifier "uVar14") (% "%") (identifier "local_70")) (== "==") (binary_expression "uVar3 % local_70" (identifier "uVar3") (% "%") (identifier "local_70"))) () ")")) (compound_statement "{\n          uVar21 = uVar21 + 1;\n          local_78 = local_78 + 1;\n          uVar14 = uVar3;\n          if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }\n        }" ({ "{") (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" (identifier "uVar21") (= "=") (binary_expression "uVar21 + 1" (identifier "uVar21") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_78 = local_78 + 1;" (assignment_expression "local_78 = local_78 + 1" (identifier "local_78") (= "=") (binary_expression "local_78 + 1" (identifier "local_78") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar14 = uVar3;" (assignment_expression "uVar14 = uVar3" (identifier "uVar14") (= "=") (identifier "uVar3")) (; ";")) (if_statement "if (local_88 < uVar21) {\n            local_88 = (int *)uVar21;\n          }" (if "if") (parenthesized_expression "(local_88 < uVar21)" (( "(") (binary_expression "local_88 < uVar21" (identifier "local_88") (< "<") (identifier "uVar21")) () ")")) (compound_statement "{\n            local_88 = (int *)uVar21;\n          }" ({ "{") (expression_statement "local_88 = (int *)uVar21;" (assignment_expression "local_88 = (int *)uVar21" (identifier "local_88") (= "=") (cast_expression "(int *)uVar21" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar21"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }" (else "else") (compound_statement "{\n          uVar21 = 0;\n          uVar14 = uVar3;\n        }" ({ "{") (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar14 = uVar3;" (assignment_expression "uVar14 = uVar3" (identifier "uVar14") (= "=") (identifier "uVar3")) (; ";")) (} "}")))) (} "}"))) (expression_statement "iVar9 = iVar9 + local_78;" (assignment_expression "iVar9 = iVar9 + local_78" (identifier "iVar9") (= "=") (binary_expression "iVar9 + local_78" (identifier "iVar9") (+ "+") (identifier "local_78"))) (; ";")) (} "}")))) (expression_statement "pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5)" (identifier "dcgettext") (argument_list "(0,\n                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"\n                                ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"" (" """) (string_content "Out of %lu items there are %zu bucket clashes (longest of %zu entries).") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,local_44,local_78,local_88);" (call_expression "printf(pcVar10,local_44,local_78,local_88)" (identifier "printf") (argument_list "(pcVar10,local_44,local_78,local_88)" (( "(") (identifier "pcVar10") (, ",") (identifier "local_44") (, ",") (identifier "local_78") (, ",") (identifier "local_88") () ")"))) (; ";")) (if_statement "if (local_44 != iVar9) {\n                    \n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }" (if "if") (parenthesized_expression "(local_44 != iVar9)" (( "(") (binary_expression "local_44 != iVar9" (identifier "local_44") (!= "!=") (identifier "iVar9")) () ")")) (compound_statement "{\n                    \n      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");\n    }" ({ "{") (expression_statement "__assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names");" (call_expression "__assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names")" (identifier "__assert_fail") (argument_list "("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",\n                    0x216a,"display_debug_names")" (( "(") (string_literal ""name_count == buckets_filled + hash_clash_count"" (" """) (string_content "name_count == buckets_filled + hash_clash_count") (" """)) (, ",") (string_literal ""../../binutils/dwarf.c"" (" """) (string_content "../../binutils/dwarf.c") (" """)) (, ",") (number_literal "0x216a") (, ",") (string_literal ""display_debug_names"" (" """) (string_content "display_debug_names") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_88 = (int *)0x0;" (assignment_expression "local_88 = (int *)0x0" (identifier "local_88") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_74 = (longlong *)0x0;" (assignment_expression "local_74 = (longlong *)0x0" (identifier "local_74") (= "=") (cast_expression "(longlong *)0x0" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_8c = (int *)0x0;" (assignment_expression "local_8c = (int *)0x0" (identifier "local_8c") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (while_statement "while( true ) {\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    \n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      if (lVar25 == 0) break;\n      if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }\n      if (local_88 <= local_8c) {\n                    \n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }\nLAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);\n      *plVar1 = lVar25;\n      *(int *)(plVar1 + 1) = local_68;\n      FUN_0004f910(local_68,local_20,0,piVar16);\n      local_68 = local_68 + local_20[0];\n      do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));\n    }" ({ "{") (expression_statement "lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);" (assignment_expression "lVar25 = FUN_0004f910(local_68,local_20,0,piVar16)" (identifier "lVar25") (= "=") (call_expression "FUN_0004f910(local_68,local_20,0,piVar16)" (identifier "FUN_0004f910") (argument_list "(local_68,local_20,0,piVar16)" (( "(") (identifier "local_68") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "piVar16") () ")")))) (; ";")) (expression_statement "local_68 = local_68 + local_20[0];" (assignment_expression "local_68 = local_68 + local_20[0]" (identifier "local_68") (= "=") (binary_expression "local_68 + local_20[0]" (identifier "local_68") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (if_statement "if (lVar25 == 0) break;" (if "if") (parenthesized_expression "(lVar25 == 0)" (( "(") (binary_expression "lVar25 == 0" (identifier "lVar25") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (local_8c == local_88) {\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }" (if "if") (parenthesized_expression "(local_8c == local_88)" (( "(") (binary_expression "local_8c == local_88" (identifier "local_8c") (== "==") (identifier "local_88")) () ")")) (compound_statement "{\n        local_88 = (int *)((int)local_8c * 2);\n        if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }\n        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);\n      }" ({ "{") (expression_statement "local_88 = (int *)((int)local_8c * 2);" (assignment_expression "local_88 = (int *)((int)local_8c * 2)" (identifier "local_88") (= "=") (cast_expression "(int *)((int)local_8c * 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_8c * 2)" (( "(") (binary_expression "(int)local_8c * 2" (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c")) (* "*") (number_literal "2")) () ")")))) (; ";")) (if_statement "if (local_88 < 0x100) {\n          local_88 = (int *)0x100;\n        }" (if "if") (parenthesized_expression "(local_88 < 0x100)" (( "(") (binary_expression "local_88 < 0x100" (identifier "local_88") (< "<") (number_literal "0x100")) () ")")) (compound_statement "{\n          local_88 = (int *)0x100;\n        }" ({ "{") (expression_statement "local_88 = (int *)0x100;" (assignment_expression "local_88 = (int *)0x100" (identifier "local_88") (= "=") (cast_expression "(int *)0x100" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x100"))) (; ";")) (} "}"))) (expression_statement "local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);" (assignment_expression "local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc)" (identifier "local_74") (= "=") (cast_expression "(longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0006b060(local_74,(int)local_88 * 0xc)" (identifier "FUN_0006b060") (argument_list "(local_74,(int)local_88 * 0xc)" (( "(") (identifier "local_74") (, ",") (binary_expression "(int)local_88 * 0xc" (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (* "*") (number_literal "0xc")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (local_88 <= local_8c) {\n                    \n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }" (if "if") (parenthesized_expression "(local_88 <= local_8c)" (( "(") (binary_expression "local_88 <= local_8c" (identifier "local_88") (<= "<=") (identifier "local_8c")) () ")")) (compound_statement "{\n                    \n        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");\n      }" ({ "{") (expression_statement "__assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names");" (call_expression "__assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names")" (identifier "__assert_fail") (argument_list "("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186\n                      ,"display_debug_names")" (( "(") (string_literal ""abbrev_lookup_used < abbrev_lookup_allocated"" (" """) (string_content "abbrev_lookup_used < abbrev_lookup_allocated") (" """)) (, ",") (string_literal ""../../binutils/dwarf.c"" (" """) (string_content "../../binutils/dwarf.c") (" """)) (, ",") (number_literal "0x2186") (, ",") (string_literal ""display_debug_names"" (" """) (string_content "display_debug_names") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);" (assignment_expression "plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc)" (identifier "plVar1") (= "=") (cast_expression "(longlong *)((int)local_74 + (int)local_8c * 0xc)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + (int)local_8c * 0xc)" (( "(") (binary_expression "(int)local_74 + (int)local_8c * 0xc" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (binary_expression "(int)local_8c * 0xc" (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c")) (* "*") (number_literal "0xc"))) () ")")))) (; ";")) (if_statement "if (local_74 < plVar1) {\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }" (if "if") (parenthesized_expression "(local_74 < plVar1)" (( "(") (binary_expression "local_74 < plVar1" (identifier "local_74") (< "<") (identifier "plVar1")) () ")")) (compound_statement "{\n        lVar28 = *local_74;\n        plVar17 = local_74;\n        while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);\n      }" ({ "{") (expression_statement "lVar28 = *local_74;" (assignment_expression "lVar28 = *local_74" (identifier "lVar28") (= "=") (pointer_expression "*local_74" (* "*") (identifier "local_74"))) (; ";")) (expression_statement "plVar17 = local_74;" (assignment_expression "plVar17 = local_74" (identifier "plVar17") (= "=") (identifier "local_74")) (; ";")) (while_statement "while (lVar25 != lVar28) {\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }" (while "while") (parenthesized_expression "(lVar25 != lVar28)" (( "(") (binary_expression "lVar25 != lVar28" (identifier "lVar25") (!= "!=") (identifier "lVar28")) () ")")) (compound_statement "{\n          plVar17 = (longlong *)((int)plVar17 + 0xc);\n          if (plVar1 <= plVar17) goto LAB_00058864;\n          lVar28 = *plVar17;\n        }" ({ "{") (expression_statement "plVar17 = (longlong *)((int)plVar17 + 0xc);" (assignment_expression "plVar17 = (longlong *)((int)plVar17 + 0xc)" (identifier "plVar17") (= "=") (cast_expression "(longlong *)((int)plVar17 + 0xc)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)plVar17 + 0xc)" (( "(") (binary_expression "(int)plVar17 + 0xc" (cast_expression "(int)plVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "plVar17")) (+ "+") (number_literal "0xc")) () ")")))) (; ";")) (if_statement "if (plVar1 <= plVar17) goto LAB_00058864;" (if "if") (parenthesized_expression "(plVar1 <= plVar17)" (( "(") (binary_expression "plVar1 <= plVar17" (identifier "plVar1") (<= "<=") (identifier "plVar17")) () ")")) (goto_statement "goto LAB_00058864;" (goto "goto") (statement_identifier "LAB_00058864") (; ";"))) (expression_statement "lVar28 = *plVar17;" (assignment_expression "lVar28 = *plVar17" (identifier "lVar28") (= "=") (pointer_expression "*plVar17" (* "*") (identifier "plVar17"))) (; ";")) (} "}"))) (expression_statement "iVar9 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x10)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);" (assignment_expression "uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5)" (identifier "uVar11") (= "=") (call_expression "dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5)" (identifier "dcgettext") (argument_list "(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"" (" """) (string_content "Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);" (call_expression "warn(uVar11,(int)lVar25,(int)piVar2 - iVar9)" (identifier "warn") (argument_list "(uVar11,(int)lVar25,(int)piVar2 - iVar9)" (( "(") (identifier "uVar11") (, ",") (cast_expression "(int)lVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar25")) (, ",") (binary_expression "(int)piVar2 - iVar9" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (- "-") (identifier "iVar9")) () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_00058864:\n      local_8c = (int *)((int)local_8c + 1);" (statement_identifier "LAB_00058864") (: ":") (expression_statement "local_8c = (int *)((int)local_8c + 1);" (assignment_expression "local_8c = (int *)((int)local_8c + 1)" (identifier "local_8c") (= "=") (cast_expression "(int *)((int)local_8c + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_8c + 1)" (( "(") (binary_expression "(int)local_8c + 1" (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c")) (+ "+") (number_literal "1")) () ")")))) (; ";"))) (expression_statement "*plVar1 = lVar25;" (assignment_expression "*plVar1 = lVar25" (pointer_expression "*plVar1" (* "*") (identifier "plVar1")) (= "=") (identifier "lVar25")) (; ";")) (expression_statement "*(int *)(plVar1 + 1) = local_68;" (assignment_expression "*(int *)(plVar1 + 1) = local_68" (pointer_expression "*(int *)(plVar1 + 1)" (* "*") (cast_expression "(int *)(plVar1 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar1 + 1)" (( "(") (binary_expression "plVar1 + 1" (identifier "plVar1") (+ "+") (number_literal "1")) () ")")))) (= "=") (identifier "local_68")) (; ";")) (expression_statement "FUN_0004f910(local_68,local_20,0,piVar16);" (call_expression "FUN_0004f910(local_68,local_20,0,piVar16)" (identifier "FUN_0004f910") (argument_list "(local_68,local_20,0,piVar16)" (( "(") (identifier "local_68") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "piVar16") () ")"))) (; ";")) (expression_statement "local_68 = local_68 + local_20[0];" (assignment_expression "local_68 = local_68 + local_20[0]" (identifier "local_68") (= "=") (binary_expression "local_68 + local_20[0]" (identifier "local_68") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (do_statement "do {\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0));" (do "do") (compound_statement "{\n        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);\n        local_68 = local_68 + local_20[0];\n      }" ({ "{") (expression_statement "uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);" (assignment_expression "uVar26 = FUN_0004f910(local_68,local_20,0,piVar16)" (identifier "uVar26") (= "=") (call_expression "FUN_0004f910(local_68,local_20,0,piVar16)" (identifier "FUN_0004f910") (argument_list "(local_68,local_20,0,piVar16)" (( "(") (identifier "local_68") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "piVar16") () ")")))) (; ";")) (expression_statement "local_68 = local_68 + local_20[0];" (assignment_expression "local_68 = local_68 + local_20[0]" (identifier "local_68") (= "=") (binary_expression "local_68 + local_20[0]" (identifier "local_68") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);" (assignment_expression "uVar27 = FUN_0004f910(local_68,local_20,0,piVar16)" (identifier "uVar27") (= "=") (call_expression "FUN_0004f910(local_68,local_20,0,piVar16)" (identifier "FUN_0004f910") (argument_list "(local_68,local_20,0,piVar16)" (( "(") (identifier "local_68") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "piVar16") () ")")))) (; ";")) (expression_statement "local_68 = local_68 + local_20[0];" (assignment_expression "local_68 = local_68 + local_20[0]" (identifier "local_68") (= "=") (binary_expression "local_68 + local_20[0]" (identifier "local_68") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0))" (( "(") (binary_expression "((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||\n               ((int)uVar27 != 0 || (int)uVar26 != 0)" (parenthesized_expression "((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0" (binary_expression "(int)((ulonglong)uVar27 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar27 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar27 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar27")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(int)((ulonglong)uVar26 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar26 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar26 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar26 >> 0x20" (cast_expression "(ulonglong)uVar26" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar26")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0"))) () ")")) (|| "||") (parenthesized_expression "((int)uVar27 != 0 || (int)uVar26 != 0)" (( "(") (binary_expression "(int)uVar27 != 0 || (int)uVar26 != 0" (binary_expression "(int)uVar27 != 0" (cast_expression "(int)uVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar27")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(int)uVar26 != 0" (cast_expression "(int)uVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar26")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (; ";")) (} "}"))) (expression_statement "pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"\nSymbol table:\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"\nSymbol table:\n",5)" (identifier "dcgettext") (argument_list "(0,"\nSymbol table:\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""\nSymbol table:\n"" (" """) (escape_sequence "\n") (string_content "Symbol table:") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" (identifier "printf") (argument_list "(pcVar10)" (( "(") (identifier "pcVar10") () ")"))) (; ";")) (if_statement "if (local_44 != 0) {\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }" (if "if") (parenthesized_expression "(local_44 != 0)" (( "(") (binary_expression "local_44 != 0" (identifier "local_44") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);\n      local_60 = 0;\n      do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);\n    }" ({ "{") (expression_statement "plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);" (assignment_expression "plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc)" (identifier "plVar1") (= "=") (cast_expression "(longlong *)((int)local_74 + (int)local_8c * 0xc)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + (int)local_8c * 0xc)" (( "(") (binary_expression "(int)local_74 + (int)local_8c * 0xc" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (binary_expression "(int)local_8c * 0xc" (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c")) (* "*") (number_literal "0xc"))) () ")")))) (; ";")) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      } while (local_60 != local_44);" (do "do") (compound_statement "{\n        iVar9 = local_7c;\n        if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }\n        iVar9 = local_7c;\n        if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }\n        uVar11 = FUN_0004e530();\n        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);\n        local_88 = local_64;\n        local_8c = (int *)0xfffffffe;\n        lVar25 = -1;\n        while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }\nLAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);\n        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);\n        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);\nLAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }\n        putc(10,*(FILE **)puVar6);\n        local_60 = local_60 + 1;\n        local_50 = (int *)((int)local_50 + local_7c);\n        local_4c = (int *)((int)local_4c + local_7c);\n      }" ({ "{") (expression_statement "iVar9 = local_7c;" (assignment_expression "iVar9 = local_7c" (identifier "iVar9") (= "=") (identifier "local_7c")) (; ";")) (if_statement "if (((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }" (if "if") (parenthesized_expression "(((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8))))" (( "(") (binary_expression "((int *)((int)local_4c + local_7c) < local_80) ||\n           ((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))" (parenthesized_expression "((int *)((int)local_4c + local_7c) < local_80)" (( "(") (binary_expression "(int *)((int)local_4c + local_7c) < local_80" (cast_expression "(int *)((int)local_4c + local_7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_4c + local_7c)" (( "(") (binary_expression "(int)local_4c + local_7c" (cast_expression "(int)local_4c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_4c")) (+ "+") (identifier "local_7c")) () ")"))) (< "<") (identifier "local_80")) () ")")) (|| "||") (parenthesized_expression "((local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))" (( "(") (parenthesized_expression "(local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8))" (( "(") (binary_expression "local_4c < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)" (binary_expression "local_4c < local_80" (identifier "local_4c") (< "<") (identifier "local_80")) (&& "&&") (parenthesized_expression "(iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)" (( "(") (comma_expression "iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)local_4c" (identifier "iVar9") (= "=") (binary_expression "(int)local_80 - (int)local_4c" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)local_4c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_4c")))) (, ",") (binary_expression "((int)local_80 - (int)local_4c) - 1U < 8" (binary_expression "((int)local_80 - (int)local_4c) - 1U" (parenthesized_expression "((int)local_80 - (int)local_4c)" (( "(") (binary_expression "(int)local_80 - (int)local_4c" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)local_4c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_4c"))) () ")")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          (*DAT_000b9dd4)(local_4c,iVar9);\n        }" ({ "{") (expression_statement "(*DAT_000b9dd4)(local_4c,iVar9);" (call_expression "(*DAT_000b9dd4)(local_4c,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" (( "(") (pointer_expression "*DAT_000b9dd4" (* "*") (identifier "DAT_000b9dd4")) () ")")) (argument_list "(local_4c,iVar9)" (( "(") (identifier "local_4c") (, ",") (identifier "iVar9") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar9 = local_7c;" (assignment_expression "iVar9 = local_7c" (identifier "iVar9") (= "=") (identifier "local_7c")) (; ";")) (if_statement "if (((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }" (if "if") (parenthesized_expression "(((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8))))" (( "(") (binary_expression "((int *)((int)local_50 + local_7c) < local_80) ||\n           ((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))" (parenthesized_expression "((int *)((int)local_50 + local_7c) < local_80)" (( "(") (binary_expression "(int *)((int)local_50 + local_7c) < local_80" (cast_expression "(int *)((int)local_50 + local_7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_50 + local_7c)" (( "(") (binary_expression "(int)local_50 + local_7c" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (identifier "local_7c")) () ")"))) (< "<") (identifier "local_80")) () ")")) (|| "||") (parenthesized_expression "((local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))" (( "(") (parenthesized_expression "(local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8))" (( "(") (comma_expression "local_64 = piVar16, local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)" (assignment_expression "local_64 = piVar16" (identifier "local_64") (= "=") (identifier "piVar16")) (, ",") (binary_expression "local_50 < local_80 &&\n            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)" (binary_expression "local_50 < local_80" (identifier "local_50") (< "<") (identifier "local_80")) (&& "&&") (parenthesized_expression "(iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)" (( "(") (comma_expression "iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8" (assignment_expression "iVar9 = (int)local_80 - (int)local_50" (identifier "iVar9") (= "=") (binary_expression "(int)local_80 - (int)local_50" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")))) (, ",") (binary_expression "((int)local_80 - (int)local_50) - 1U < 8" (binary_expression "((int)local_80 - (int)local_50) - 1U" (parenthesized_expression "((int)local_80 - (int)local_50)" (( "(") (binary_expression "(int)local_80 - (int)local_50" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50"))) () ")")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);\n          local_64 = (int *)(iVar9 + (int)piVar16);\n        }" ({ "{") (expression_statement "iVar9 = (*DAT_000b9dd4)(local_50,iVar9);" (assignment_expression "iVar9 = (*DAT_000b9dd4)(local_50,iVar9)" (identifier "iVar9") (= "=") (call_expression "(*DAT_000b9dd4)(local_50,iVar9)" (parenthesized_expression "(*DAT_000b9dd4)" (( "(") (pointer_expression "*DAT_000b9dd4" (* "*") (identifier "DAT_000b9dd4")) () ")")) (argument_list "(local_50,iVar9)" (( "(") (identifier "local_50") (, ",") (identifier "iVar9") () ")")))) (; ";")) (expression_statement "local_64 = (int *)(iVar9 + (int)piVar16);" (assignment_expression "local_64 = (int *)(iVar9 + (int)piVar16)" (identifier "local_64") (= "=") (cast_expression "(int *)(iVar9 + (int)piVar16)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + (int)piVar16)" (( "(") (binary_expression "iVar9 + (int)piVar16" (identifier "iVar9") (+ "+") (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16"))) () ")")))) (; ";")) (} "}"))) (expression_statement "uVar11 = FUN_0004e530();" (assignment_expression "uVar11 = FUN_0004e530()" (identifier "uVar11") (= "=") (call_expression "FUN_0004e530()" (identifier "FUN_0004e530") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);" (call_expression "printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11)" (identifier "printf") (argument_list "("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11)" (( "(") (string_literal ""[%3u] #%08x %s:"" (" """) (string_content "[%3u] #%08x %s:") (" """)) (, ",") (identifier "local_60") (, ",") (subscript_expression "puVar24[local_60]" (identifier "puVar24") ([ "[") (identifier "local_60") (] "]")) (, ",") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "local_88 = local_64;" (assignment_expression "local_88 = local_64" (identifier "local_88") (= "=") (identifier "local_64")) (; ";")) (expression_statement "local_8c = (int *)0xfffffffe;" (assignment_expression "local_8c = (int *)0xfffffffe" (identifier "local_8c") (= "=") (cast_expression "(int *)0xfffffffe" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfffffffe"))) (; ";")) (expression_statement "lVar25 = -1;" (assignment_expression "lVar25 = -1" (identifier "lVar25") (= "=") (number_literal "-1")) (; ";")) (while_statement "while( true ) {\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }\n          if (lVar28 == 0) goto LAB_00058b8d;\n          if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }\n          if (plVar1 <= local_74) break;\n          lVar5 = *local_74;\n          plVar17 = local_74;\n          while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }\n          lVar28 = plVar17[1];\n          FUN_0004f910((int)lVar28,local_20,0,piVar16);\n          iVar20 = (int)lVar28 + local_20[0];\n          if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }\n          local_88 = (int *)((int)local_88 + iVar9);\n          while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }\n          local_8c = (int *)((int)local_8c + 1);\n        }" ({ "{") (while_statement "while( true ) {\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);\n            iVar9 = local_20[0];\n            if (local_8c != (int *)0xffffffff) break;\n            local_88 = local_64;\n            local_8c = (int *)0x0;\n            lVar25 = lVar28;\n          }" ({ "{") (expression_statement "lVar28 = FUN_0004f910(local_88,local_20,0,local_80);" (assignment_expression "lVar28 = FUN_0004f910(local_88,local_20,0,local_80)" (identifier "lVar28") (= "=") (call_expression "FUN_0004f910(local_88,local_20,0,local_80)" (identifier "FUN_0004f910") (argument_list "(local_88,local_20,0,local_80)" (( "(") (identifier "local_88") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "local_80") () ")")))) (; ";")) (expression_statement "iVar9 = local_20[0];" (assignment_expression "iVar9 = local_20[0]" (identifier "iVar9") (= "=") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (local_8c != (int *)0xffffffff) break;" (if "if") (parenthesized_expression "(local_8c != (int *)0xffffffff)" (( "(") (binary_expression "local_8c != (int *)0xffffffff" (identifier "local_8c") (!= "!=") (cast_expression "(int *)0xffffffff" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "local_88 = local_64;" (assignment_expression "local_88 = local_64" (identifier "local_88") (= "=") (identifier "local_64")) (; ";")) (expression_statement "local_8c = (int *)0x0;" (assignment_expression "local_8c = (int *)0x0" (identifier "local_8c") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "lVar25 = lVar28;" (assignment_expression "lVar25 = lVar28" (identifier "lVar25") (= "=") (identifier "lVar28")) (; ";")) (} "}"))) (if_statement "if (lVar28 == 0) goto LAB_00058b8d;" (if "if") (parenthesized_expression "(lVar28 == 0)" (( "(") (binary_expression "lVar28 == 0" (identifier "lVar28") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00058b8d;" (goto "goto") (statement_identifier "LAB_00058b8d") (; ";"))) (if_statement "if (-1 < (int)local_8c) {\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }" (if "if") (parenthesized_expression "(-1 < (int)local_8c)" (( "(") (binary_expression "-1 < (int)local_8c" (number_literal "-1") (< "<") (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c"))) () ")")) (compound_statement "{\n            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }\n            printf("%s<%lu>",puVar18,(int)lVar28);\n          }" ({ "{") (if_statement "if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {\n              puVar18 = &DAT_0007bc58;\n            }" (if "if") (parenthesized_expression "((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0))" (( "(") (binary_expression "(local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)" (parenthesized_expression "(local_8c != (int *)0x0)" (( "(") (binary_expression "local_8c != (int *)0x0" (identifier "local_8c") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(puVar18 = &DAT_0007c3bc, lVar25 != 0)" (( "(") (comma_expression "puVar18 = &DAT_0007c3bc, lVar25 != 0" (assignment_expression "puVar18 = &DAT_0007c3bc" (identifier "puVar18") (= "=") (pointer_expression "&DAT_0007c3bc" (& "&") (identifier "DAT_0007c3bc"))) (, ",") (binary_expression "lVar25 != 0" (identifier "lVar25") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n              puVar18 = &DAT_0007bc58;\n            }" ({ "{") (expression_statement "puVar18 = &DAT_0007bc58;" (assignment_expression "puVar18 = &DAT_0007bc58" (identifier "puVar18") (= "=") (pointer_expression "&DAT_0007bc58" (& "&") (identifier "DAT_0007bc58"))) (; ";")) (} "}"))) (expression_statement "printf("%s<%lu>",puVar18,(int)lVar28);" (call_expression "printf("%s<%lu>",puVar18,(int)lVar28)" (identifier "printf") (argument_list "("%s<%lu>",puVar18,(int)lVar28)" (( "(") (string_literal ""%s<%lu>"" (" """) (string_content "%s<%lu>") (" """)) (, ",") (identifier "puVar18") (, ",") (cast_expression "(int)lVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar28")) () ")"))) (; ";")) (} "}"))) (if_statement "if (plVar1 <= local_74) break;" (if "if") (parenthesized_expression "(plVar1 <= local_74)" (( "(") (binary_expression "plVar1 <= local_74" (identifier "plVar1") (<= "<=") (identifier "local_74")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar5 = *local_74;" (assignment_expression "lVar5 = *local_74" (identifier "lVar5") (= "=") (pointer_expression "*local_74" (* "*") (identifier "local_74"))) (; ";")) (expression_statement "plVar17 = local_74;" (assignment_expression "plVar17 = local_74" (identifier "plVar17") (= "=") (identifier "local_74")) (; ";")) (while_statement "while (lVar28 != lVar5) {\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }" (while "while") (parenthesized_expression "(lVar28 != lVar5)" (( "(") (binary_expression "lVar28 != lVar5" (identifier "lVar28") (!= "!=") (identifier "lVar5")) () ")")) (compound_statement "{\n            plVar17 = (longlong *)((int)plVar17 + 0xc);\n            if (plVar1 <= plVar17) goto LAB_00058b50;\n            lVar5 = *plVar17;\n          }" ({ "{") (expression_statement "plVar17 = (longlong *)((int)plVar17 + 0xc);" (assignment_expression "plVar17 = (longlong *)((int)plVar17 + 0xc)" (identifier "plVar17") (= "=") (cast_expression "(longlong *)((int)plVar17 + 0xc)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)plVar17 + 0xc)" (( "(") (binary_expression "(int)plVar17 + 0xc" (cast_expression "(int)plVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "plVar17")) (+ "+") (number_literal "0xc")) () ")")))) (; ";")) (if_statement "if (plVar1 <= plVar17) goto LAB_00058b50;" (if "if") (parenthesized_expression "(plVar1 <= plVar17)" (( "(") (binary_expression "plVar1 <= plVar17" (identifier "plVar1") (<= "<=") (identifier "plVar17")) () ")")) (goto_statement "goto LAB_00058b50;" (goto "goto") (statement_identifier "LAB_00058b50") (; ";"))) (expression_statement "lVar5 = *plVar17;" (assignment_expression "lVar5 = *plVar17" (identifier "lVar5") (= "=") (pointer_expression "*plVar17" (* "*") (identifier "plVar17"))) (; ";")) (} "}"))) (expression_statement "lVar28 = plVar17[1];" (assignment_expression "lVar28 = plVar17[1]" (identifier "lVar28") (= "=") (subscript_expression "plVar17[1]" (identifier "plVar17") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "FUN_0004f910((int)lVar28,local_20,0,piVar16);" (call_expression "FUN_0004f910((int)lVar28,local_20,0,piVar16)" (identifier "FUN_0004f910") (argument_list "((int)lVar28,local_20,0,piVar16)" (( "(") (cast_expression "(int)lVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar28")) (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "piVar16") () ")"))) (; ";")) (expression_statement "iVar20 = (int)lVar28 + local_20[0];" (assignment_expression "iVar20 = (int)lVar28 + local_20[0]" (identifier "iVar20") (= "=") (binary_expression "(int)lVar28 + local_20[0]" (cast_expression "(int)lVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar28")) (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (if_statement "if (-1 < (int)local_8c) {\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }" (if "if") (parenthesized_expression "(-1 < (int)local_8c)" (( "(") (binary_expression "-1 < (int)local_8c" (number_literal "-1") (< "<") (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c"))) () ")")) (compound_statement "{\n            uVar11 = FUN_0004e710();\n            printf(" %s",uVar11);\n          }" ({ "{") (expression_statement "uVar11 = FUN_0004e710();" (assignment_expression "uVar11 = FUN_0004e710()" (identifier "uVar11") (= "=") (call_expression "FUN_0004e710()" (identifier "FUN_0004e710") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "printf(" %s",uVar11);" (call_expression "printf(" %s",uVar11)" (identifier "printf") (argument_list "(" %s",uVar11)" (( "(") (string_literal "" %s"" (" """) (string_content " %s") (" """)) (, ",") (identifier "uVar11") () ")"))) (; ";")) (} "}"))) (expression_statement "local_88 = (int *)((int)local_88 + iVar9);" (assignment_expression "local_88 = (int *)((int)local_88 + iVar9)" (identifier "local_88") (= "=") (cast_expression "(int *)((int)local_88 + iVar9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_88 + iVar9)" (( "(") (binary_expression "(int)local_88 + iVar9" (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (+ "+") (identifier "iVar9")) () ")")))) (; ";")) (while_statement "while( true ) {\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar9 = (int)uVar26;\n            iVar20 = iVar20 + local_20[0];\n            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);\n            iVar20 = iVar20 + local_20[0];\n            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;\n            if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }\n            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);\n          }" ({ "{") (expression_statement "uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);" (assignment_expression "uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16)" (identifier "uVar26") (= "=") (call_expression "FUN_0004f910(iVar20,local_20,0,piVar16)" (identifier "FUN_0004f910") (argument_list "(iVar20,local_20,0,piVar16)" (( "(") (identifier "iVar20") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "piVar16") () ")")))) (; ";")) (expression_statement "iVar9 = (int)uVar26;" (assignment_expression "iVar9 = (int)uVar26" (identifier "iVar9") (= "=") (cast_expression "(int)uVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar26"))) (; ";")) (expression_statement "iVar20 = iVar20 + local_20[0];" (assignment_expression "iVar20 = iVar20 + local_20[0]" (identifier "iVar20") (= "=") (binary_expression "iVar20 + local_20[0]" (identifier "iVar20") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);" (assignment_expression "uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16)" (identifier "uVar27") (= "=") (call_expression "FUN_0004f910(iVar20,local_20,0,piVar16)" (identifier "FUN_0004f910") (argument_list "(iVar20,local_20,0,piVar16)" (( "(") (identifier "iVar20") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "piVar16") () ")")))) (; ";")) (expression_statement "iVar20 = iVar20 + local_20[0];" (assignment_expression "iVar20 = iVar20 + local_20[0]" (identifier "iVar20") (= "=") (binary_expression "iVar20 + local_20[0]" (identifier "iVar20") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)) break;" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0))" (( "(") (binary_expression "((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                ((int)uVar27 == 0 && iVar9 == 0)" (parenthesized_expression "((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0" (binary_expression "(int)((ulonglong)uVar26 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar26 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar26 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar26 >> 0x20" (cast_expression "(ulonglong)uVar26" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar26")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) (&& "&&") (binary_expression "(int)((ulonglong)uVar27 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar27 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar27 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar27")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0"))) () ")")) (&& "&&") (parenthesized_expression "((int)uVar27 == 0 && iVar9 == 0)" (( "(") (binary_expression "(int)uVar27 == 0 && iVar9 == 0" (binary_expression "(int)uVar27 == 0" (cast_expression "(int)uVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar27")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (-1 < (int)local_8c) {\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }" (if "if") (parenthesized_expression "(-1 < (int)local_8c)" (( "(") (binary_expression "-1 < (int)local_8c" (number_literal "-1") (< "<") (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c"))) () ")")) (compound_statement "{\n              puVar18 = (undefined *)FUN_0006ad50(iVar9);\n              if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }\n              printf(" %s",puVar18);\n            }" ({ "{") (expression_statement "puVar18 = (undefined *)FUN_0006ad50(iVar9);" (assignment_expression "puVar18 = (undefined *)FUN_0006ad50(iVar9)" (identifier "puVar18") (= "=") (cast_expression "(undefined *)FUN_0006ad50(iVar9)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0006ad50(iVar9)" (identifier "FUN_0006ad50") (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")"))))) (; ";")) (if_statement "if (puVar18 == (undefined *)0x0) {\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }" (if "if") (parenthesized_expression "(puVar18 == (undefined *)0x0)" (( "(") (binary_expression "puVar18 == (undefined *)0x0" (identifier "puVar18") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);\n                snprintf(&DAT_000b7660,100,pcVar10,iVar9);\n                puVar18 = &DAT_000b7660;\n              }" ({ "{") (expression_statement "pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"Unknown IDX value: %lx",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"Unknown IDX value: %lx",5)" (identifier "dcgettext") (argument_list "(0,"Unknown IDX value: %lx",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Unknown IDX value: %lx"" (" """) (string_content "Unknown IDX value: %lx") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "snprintf(&DAT_000b7660,100,pcVar10,iVar9);" (call_expression "snprintf(&DAT_000b7660,100,pcVar10,iVar9)" (identifier "snprintf") (argument_list "(&DAT_000b7660,100,pcVar10,iVar9)" (( "(") (pointer_expression "&DAT_000b7660" (& "&") (identifier "DAT_000b7660")) (, ",") (number_literal "100") (, ",") (identifier "pcVar10") (, ",") (identifier "iVar9") () ")"))) (; ";")) (expression_statement "puVar18 = &DAT_000b7660;" (assignment_expression "puVar18 = &DAT_000b7660" (identifier "puVar18") (= "=") (pointer_expression "&DAT_000b7660" (& "&") (identifier "DAT_000b7660"))) (; ";")) (} "}"))) (expression_statement "printf(" %s",puVar18);" (call_expression "printf(" %s",puVar18)" (identifier "printf") (argument_list "(" %s",puVar18)" (( "(") (string_literal "" %s"" (" """) (string_content " %s") (" """)) (, ",") (identifier "puVar18") () ")"))) (; ";")) (} "}"))) (expression_statement "local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d);" (assignment_expression "local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d)" (identifier "local_88") (= "=") (cast_expression "(int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d)" (identifier "FUN_00053040") (argument_list "(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,\n                                           (uint)local_8c >> 0x1f,0,0,0x3d)" (( "(") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "local_88") (, ",") (identifier "local_80") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "local_7c") (, ",") (number_literal "0") (, ",") (number_literal "5") (, ",") (number_literal "0") (, ",") (binary_expression "(uint)local_8c >> 0x1f" (cast_expression "(uint)local_8c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_8c")) (>> ">>") (number_literal "0x1f")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0x3d") () ")"))))) (; ";")) (} "}"))) (expression_statement "local_8c = (int *)((int)local_8c + 1);" (assignment_expression "local_8c = (int *)((int)local_8c + 1)" (identifier "local_8c") (= "=") (cast_expression "(int *)((int)local_8c + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_8c + 1)" (( "(") (binary_expression "(int)local_8c + 1" (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (labeled_statement "LAB_00058b50:\n        iVar9 = *(int *)(param_1 + 0x10);" (statement_identifier "LAB_00058b50") (: ":") (expression_statement "iVar9 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x10)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";"))) (expression_statement "uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);" (assignment_expression "uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5)" (identifier "uVar11") (= "=") (call_expression "dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5)" (identifier "dcgettext") (argument_list "(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n"" (" """) (string_content "Undefined abbreviation tag %lu in unit 0x%lx in the debug_names") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);" (call_expression "warn(uVar11,(int)lVar28,(int)piVar2 - iVar9)" (identifier "warn") (argument_list "(uVar11,(int)lVar28,(int)piVar2 - iVar9)" (( "(") (identifier "uVar11") (, ",") (cast_expression "(int)lVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar28")) (, ",") (binary_expression "(int)piVar2 - iVar9" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (- "-") (identifier "iVar9")) () ")"))) (; ";")) (labeled_statement "LAB_00058b8d:\n        if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }" (statement_identifier "LAB_00058b8d") (: ":") (if_statement "if ((int)local_8c < 1) {\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }" (if "if") (parenthesized_expression "((int)local_8c < 1)" (( "(") (binary_expression "(int)local_8c < 1" (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n          pcVar10 = (char *)dcgettext(0," <no entries>",5);\n          printf(pcVar10);\n        }" ({ "{") (expression_statement "pcVar10 = (char *)dcgettext(0," <no entries>",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0," <no entries>",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0," <no entries>",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," <no entries>",5)" (identifier "dcgettext") (argument_list "(0," <no entries>",5)" (( "(") (number_literal "0") (, ",") (string_literal "" <no entries>"" (" """) (string_content " <no entries>") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" (identifier "printf") (argument_list "(pcVar10)" (( "(") (identifier "pcVar10") () ")"))) (; ";")) (} "}")))) (expression_statement "putc(10,*(FILE **)puVar6);" (call_expression "putc(10,*(FILE **)puVar6)" (identifier "putc") (argument_list "(10,*(FILE **)puVar6)" (( "(") (number_literal "10") (, ",") (pointer_expression "*(FILE **)puVar6" (* "*") (cast_expression "(FILE **)puVar6" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar6"))) () ")"))) (; ";")) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" (identifier "local_60") (= "=") (binary_expression "local_60 + 1" (identifier "local_60") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_50 = (int *)((int)local_50 + local_7c);" (assignment_expression "local_50 = (int *)((int)local_50 + local_7c)" (identifier "local_50") (= "=") (cast_expression "(int *)((int)local_50 + local_7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_50 + local_7c)" (( "(") (binary_expression "(int)local_50 + local_7c" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (identifier "local_7c")) () ")")))) (; ";")) (expression_statement "local_4c = (int *)((int)local_4c + local_7c);" (assignment_expression "local_4c = (int *)((int)local_4c + local_7c)" (identifier "local_4c") (= "=") (cast_expression "(int *)((int)local_4c + local_7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_4c + local_7c)" (( "(") (binary_expression "(int)local_4c + local_7c" (cast_expression "(int)local_4c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_4c")) (+ "+") (identifier "local_7c")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_60 != local_44)" (( "(") (binary_expression "local_60 != local_44" (identifier "local_60") (!= "!=") (identifier "local_44")) () ")")) (; ";")) (} "}"))) (expression_statement "free(local_74);" (call_expression "free(local_74)" (identifier "free") (argument_list "(local_74)" (( "(") (identifier "local_74") () ")"))) (; ";")) (expression_statement "piVar2 = local_80;" (assignment_expression "piVar2 = local_80" (identifier "piVar2") (= "=") (identifier "local_80")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

int function_1(type_1 *section,void *file)

{
  type_2 *var_43;
  int *var_4;
  type_3 *puVar3;
  type_4 *puVar4;
  type_5 *pFVar5;
  type_6 var_11;
  char *var_51;
  char *pcVar8;
  char *message;
  int var_20;
  int *var_7;
  int *var_5;
  type_2 *var_45;
  type_4 *puVar13;
  type_1 *in_ECX;
  type_6 var_8;
  type_6 *var_36;
  type_6 var_10;
  type_6 var_17;
  int var_29;
  int *var_19;
  type_3 *var_34;
  int *var_3;
  type_7 uVar22;
  type_6 *var_37;
  type_8 var_25;
  type_2 var_41;
  type_2 var_44;
  char *in_stack_ffffff58;
  type_2 in_stack_ffffff64;
  type_9 var_6;
  int *var_32;
  int *var_21;
  int *var_16;
  type_6 var_23;
  int var_28;
  type_2 *var_30;
  type_6 var_26;
  type_9 local_6c;
  int *local_64;
  int var_33;
  int *var_47;
  int *var_46;
  int var_22;
  type_6 var_40;
  
  var_4 = (int *)section->start;
  var_3 = (int *)((int)var_4 + (int)section->size);
  var_1((type_1 *)section->name,(bfd_boolean)&section->filename,in_ECX);
  var_2(str,file);
  do {
    if (var_3 <= var_4) {
      return 1;
    }
    var_5 = var_4 + 1;
    var_7 = var_5;
    if (var_5 < var_3) {
      pFVar5 = (type_5 *)0x4;
LAB_00058065:
      var_6 = (*byte_get)((type_3 *)var_4,(int)pFVar5);
      var_23 = 4;
      in_stack_ffffff58 = (char *)pFVar5;
      if (var_6 == 0xffffffff) {
        var_7 = var_4 + 3;
        if (var_7 < var_3) {
          in_stack_ffffff58 = (char *)0x8;
        }
        else if ((var_3 <= var_5) ||
                (in_stack_ffffff58 = (char *)((int)var_3 - (int)var_5),
                (char *)0x7 < ((type_5 *)((int)in_stack_ffffff58 + -0x94))->_unused2 + 0x27)) {
          var_23 = 8;
          in_stack_ffffff58 = (char *)pFVar5;
          goto LAB_00057fac;
        }
        var_6 = (*byte_get)((type_3 *)var_5,(int)in_stack_ffffff58);
        var_23 = 8;
      }
      var_16 = (int *)((int)var_7 + (type_6)var_6);
      var_8 = (int)var_7 - (int)section->start;
      var_11 = var_8 + (type_6)var_6;
      var_10 = var_6._4_4_ + (type_6)var_9(var_8,(type_6)var_6);
      var_17 = (type_6)var_6;
      if (var_10 < (var_11 < var_8)) goto LAB_000580cc;
    }
    else {
      pFVar5 = (type_5 *)((int)var_3 - (int)var_4);
      if (pFVar5[-1]._unused2 + 0x27 < (char *)0x8) goto LAB_00058065;
      var_23 = 4;
LAB_00057fac:
      var_10 = 0;
      var_6 = 0;
      var_11 = (int)var_7 - (int)section->start;
      var_17 = 0;
      var_16 = var_7;
    }
    var_8 = *(type_6 *)((int)&section->size + 4);
    if (var_8 < var_10 || var_8 - var_10 < (type_6)((type_6)section->size < var_11)) {
LAB_000580cc:
      pcVar8 = var_12("x",var_13(in_stack_ffffff58) << 0x20,(type_6)var_6);
      var_34 = section->start;
      var_51 = section->name;
      message = (char *)var_14(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);
      var_15(message,var_51,(int)var_4 - (int)var_34,pcVar8);
      return 0;
    }
    var_5 = (int *)((int)var_7 + 2);
    if (var_5 < var_16) {
      var_17 = 2;
    }
    else if ((var_16 <= var_7) || (7 < var_17 - 1)) {
      var_51 = (char *)var_14(0,"Version %ld\n",5);
      var_18(var_51,0);
      goto LAB_00058029;
    }
    var_25 = (*byte_get)((type_3 *)var_7,var_17);
    var_51 = (char *)var_14(0,"Version %ld\n",5);
    var_18(var_51,(type_6)var_25 & 0xffff);
    if ((short)var_25 != 5) {
LAB_00058029:
      var_51 = (char *)var_14(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);
      var_15(var_51);
      return 0;
    }
    var_19 = var_7 + 1;
    if (var_19 < var_16) {
      var_20 = 2;
LAB_00058e95:
      var_25 = (*byte_get)((type_3 *)var_5,var_20);
      if ((short)var_25 != 0) {
        var_51 = (char *)var_14(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);
        var_15(var_51,(type_6)var_25 & 0xffff);
      }
      if (var_7 + 2 < var_16) {
LAB_000581ba:
        var_20 = 4;
      }
      else if ((var_16 <= var_19) || (var_20 = (int)var_16 - (int)var_19, 7 < var_20 - 1U))
      goto LAB_000581d8;
      var_25 = (*byte_get)((type_3 *)var_19,var_20);
      var_21 = (int *)var_25;
      if (var_21 == (int *)0x0) goto LAB_000581d8;
    }
    else {
      if ((var_5 < var_16) && ((type_6)var_6 - 3 < 8)) {
        var_20 = (type_6)var_6 + -2;
        goto LAB_00058e95;
      }
      if (var_7 + 2 < var_16) goto LAB_000581ba;
LAB_000581d8:
      var_51 = (char *)var_14(0,"Compilation unit count must be >= 1 in .debug_names\n",5);
      var_15(var_51);
      var_21 = (int *)0x0;
    }
    var_19 = var_7 + 2;
    var_5 = var_7 + 3;
    if (var_5 < var_16) {
      var_20 = 4;
LAB_00058ee1:
      var_25 = (*byte_get)((type_3 *)var_19,var_20);
      var_28 = (int)var_25;
      if (var_7 + 4 < var_16) {
LAB_00058f20:
        var_20 = 4;
      }
      else if ((var_16 <= var_5) || (var_20 = (int)var_16 - (int)var_5, 7 < var_20 - 1U))
      goto LAB_0005823a;
      var_25 = (*byte_get)((type_3 *)var_5,var_20);
      var_30 = (type_2 *)var_25;
      if (var_7 + 5 < var_16) goto LAB_00058f60;
      if ((var_7 + 4 < var_16) && (var_20 = (int)var_16 - (int)(var_7 + 4), var_20 - 1U < 8))
      goto LAB_00058f65;
LAB_0005824f:
      local_64 = (int *)0x0;
      var_26 = 0;
      if (var_16 <= var_7 + 6) goto LAB_0005826c;
LAB_00058e1a:
      var_20 = 4;
LAB_00058e1f:
      var_5 = var_7 + 6;
      var_25 = (*byte_get)((type_3 *)(var_7 + 5),var_20);
      var_22 = (int)var_25;
      var_33 = var_22 * 4;
      local_6c._4_4_ = var_22 * var_23;
      if (var_7 + 7 < var_16) goto LAB_00058df0;
      if ((var_16 <= var_5) || (7 < ((int)var_16 - (int)var_5) - 1U)) {
LAB_00058291:
        if (var_7 + 8 < var_16) {
          local_6c = (type_10)local_6c._4_4_ << 0x20;
          var_20 = 4;
          goto LAB_000582ab;
        }
        local_6c = (type_10)local_6c._4_4_ << 0x20;
        goto LAB_0005838d;
      }
      var_25 = (*byte_get)((type_3 *)var_5,(int)var_16 - (int)var_5);
      local_6c = var_24(local_6c._4_4_,(int)var_25);
      if (var_16 <= var_7 + 8) goto LAB_0005838d;
LAB_00058e10:
      var_20 = 4;
LAB_000582ab:
      var_32 = var_7 + 8;
      var_25 = (*byte_get)((type_3 *)(var_7 + 7),var_20);
      var_20 = (int)var_25;
      if ((var_25 & 3) != 0) {
        var_51 = (char *)var_14(0,
                                   "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"
                                   ,5);
        var_15(var_51,var_20);
        var_20 = var_20 + (-var_20 & 3U);
      }
      var_51 = (char *)var_14(0,"Augmentation string:",5);
      var_18(var_51);
      if (var_20 != 0) {
        var_5 = (int *)((int)var_32 + var_20);
        var_7 = var_32;
        do {
          var_19 = (int *)((int)var_7 + 1);
          if (var_19 < var_16) {
            var_20 = 1;
LAB_00058368:
            var_25 = (*byte_get)((type_3 *)var_7,var_20);
            var_17 = (type_6)var_25 & 0xff;
          }
          else {
            var_17 = 0;
            if ((var_7 < var_16) && (var_20 = (int)var_16 - (int)var_7, var_20 - 1U < 8))
            goto LAB_00058368;
          }
          var_18(" %02x",var_17);
          var_7 = var_19;
          var_32 = var_5;
        } while (var_19 != var_5);
      }
    }
    else {
      if ((var_19 < var_16) && (var_20 = (int)var_16 - (int)var_19, var_20 - 1U < 8))
      goto LAB_00058ee1;
      var_28 = 0;
      if (var_7 + 4 < var_16) goto LAB_00058f20;
LAB_0005823a:
      var_30 = (type_2 *)0x0;
      if (var_16 <= var_7 + 5) goto LAB_0005824f;
LAB_00058f60:
      var_20 = 4;
LAB_00058f65:
      var_25 = (*byte_get)((type_3 *)(var_7 + 4),var_20);
      var_26 = (type_6)var_25;
      local_64 = (int *)(var_26 << 2);
      if (var_7 + 6 < var_16) goto LAB_00058e1a;
      if ((var_7 + 5 < var_16) && (var_20 = (int)var_16 - (int)(var_7 + 5), var_20 - 1U < 8))
      goto LAB_00058e1f;
LAB_0005826c:
      local_6c._4_4_ = 0;
      var_33 = 0;
      var_22 = 0;
      if (var_16 <= var_7 + 7) goto LAB_00058291;
LAB_00058df0:
      var_25 = (*byte_get)((type_3 *)(var_7 + 6),4);
      local_6c = var_24(local_6c._4_4_,(int)var_25);
      if (var_7 + 8 < var_16) goto LAB_00058e10;
      var_20 = (int)var_16 - (int)(var_7 + 7);
      if (var_20 - 1U < 8) goto LAB_000582ab;
LAB_0005838d:
      var_32 = var_7 + 8;
      var_51 = (char *)var_14(0,"Augmentation string:",5);
      var_18(var_51);
    }
    puVar4 = PTR_stdout_000b3fd8;
    var_27(10,*(type_5 **)PTR_stdout_000b3fd8);
    var_27(10,*(type_5 **)puVar4);
    var_51 = (char *)var_14(0,"CU table:\n",5);
    var_18(var_51);
    if (var_21 != (int *)0x0) {
      var_5 = var_32;
      var_20 = 0;
      do {
        var_7 = (int *)((int)var_5 + var_23);
        var_17 = var_23;
        if ((var_7 < var_16) ||
           ((uVar22 = 0, (int *)((int)var_7 - var_23) < var_16 &&
            (var_17 = (int)var_16 - (int)var_5, ((int)var_16 - (int)var_5) - 1U < 8)))) {
          var_25 = (*byte_get)((type_3 *)var_5,var_17);
          uVar22 = (type_7)var_25;
        }
        var_51 = (char *)var_14(0,"[%3u] 0x%lx\n",5);
        var_29 = var_20 + 1;
        var_18(var_51,var_20,uVar22);
        var_5 = var_7;
        var_20 = var_29;
      } while (var_21 != (int *)var_29);
      var_32 = (int *)((int)var_32 + (int)var_21 * var_23);
    }
    var_27(10,*(type_5 **)puVar4);
    var_51 = (char *)var_14(0,"TU table:\n",5);
    var_18(var_51);
    if (var_28 != 0) {
      var_5 = var_32;
      var_20 = 0;
      do {
        var_7 = (int *)((int)var_5 + var_23);
        var_17 = var_23;
        if ((var_7 < var_16) ||
           ((uVar22 = 0, (int *)((int)var_7 - var_23) < var_16 &&
            (var_17 = (int)var_16 - (int)var_5, ((int)var_16 - (int)var_5) - 1U < 8)))) {
          var_25 = (*byte_get)((type_3 *)var_5,var_17);
          uVar22 = (type_7)var_25;
        }
        var_51 = (char *)var_14(0,"[%3u] 0x%lx\n",5);
        var_29 = var_20 + 1;
        var_18(var_51,var_20,uVar22);
        var_5 = var_7;
        var_20 = var_29;
      } while (var_29 != var_28);
      var_32 = (int *)((int)var_32 + var_29 * var_23);
    }
    var_27(10,*(type_5 **)puVar4);
    var_51 = (char *)var_14(0,"Foreign TU table:\n",5);
    var_18(var_51);
    if (var_30 != (type_2 *)0x0) {
      var_5 = var_32;
      var_20 = 0;
      do {
        if (var_5 + 2 < var_16) {
          var_29 = 8;
LAB_0005862e:
          var_25 = (*byte_get)((type_3 *)var_5,var_29);
          var_6._0_4_ = (type_6)var_25;
        }
        else {
          var_6._0_4_ = 0;
          if ((var_5 < var_16) && (var_29 = (int)var_16 - (int)var_5, var_29 - 1U < 8))
          goto LAB_0005862e;
        }
        var_51 = (char *)var_14(0,"[%3u] ",5);
        var_29 = var_20 + 1;
        var_18(var_51);
        var_31(var_24(var_20,var_51),(type_6)var_6);
        var_27(10,*(type_5 **)puVar4);
        var_5 = var_5 + 2;
        var_20 = var_29;
      } while ((type_2 *)var_29 != var_30);
      var_32 = var_32 + var_29 * 2;
    }
    var_27(10,*(type_5 **)puVar4);
    var_37 = (type_6 *)((int)local_64 + (int)var_32);
    var_46 = (int *)(var_33 + (int)var_37);
    var_47 = (int *)((int)var_46 + local_6c._4_4_);
    var_34 = (type_3 *)(local_6c._4_4_ + (int)var_47);
    var_5 = (int *)(var_34 + (int)local_6c);
    if (var_16 < var_5) {
      var_34 = section->start;
      var_51 = (char *)var_14(0,
                                 "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"
                                 ,5);
      var_15(var_51,(int)var_5 - (int)var_34,(int)var_16 - (int)var_34,
           (int)var_4 - (int)var_34);
      return 0;
    }
    var_20 = 0;
    if (var_26 != 0) {
      var_20 = 0;
      var_7 = var_32 + var_26;
      do {
        var_20 = (var_20 + 1) - (type_6)(*var_32 == 0);
        var_32 = var_32 + 1;
      } while (var_7 != var_32);
    }
    var_51 = (char *)var_35(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",var_26,
                                5);
    var_18(var_51,var_20,var_26);
    if (var_22 == 0) {
      var_21 = (int *)0x0;
      var_28 = 0;
    }
    else {
      var_21 = (int *)0x0;
      var_28 = 0;
      var_11 = 0;
      var_17 = *var_37;
      var_36 = var_37;
      while (var_36 = var_36 + 1, var_37 + var_22 != var_36) {
        var_8 = *var_36;
        if (var_17 % var_26 == var_8 % var_26) {
          var_11 = var_11 + 1;
          var_28 = var_28 + 1;
          var_17 = var_8;
          if (var_21 < var_11) {
            var_21 = (int *)var_11;
          }
        }
        else {
          var_11 = 0;
          var_17 = var_8;
        }
      }
      var_20 = var_20 + var_28;
    }
    var_51 = (char *)var_14(0,
                               "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"
                               ,5);
    var_18(var_51,var_22,var_28,var_21);
    if (var_22 != var_20) {
                    /* WARNING: Subroutine does not return */
      var_38("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",
                    0x216a,"display_debug_names");
    }
    var_21 = (int *)0x0;
    var_30 = (type_2 *)0x0;
    var_32 = (int *)0x0;
    while( true ) {
      var_41 = var_39(var_34,&var_40,0,(type_3 *)var_5);
      var_34 = var_34 + var_40;
      if (var_41 == 0) break;
      if (var_32 == var_21) {
        var_21 = (int *)((int)var_32 * 2);
        if (var_21 < 0x100) {
          var_21 = (int *)0x100;
        }
        var_30 = (type_2 *)var_42(var_30,(int)var_21 * 0xc);
      }
      if (var_21 <= var_32) {
                    /* WARNING: Subroutine does not return */
        var_38("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186
                      ,"display_debug_names");
      }
      var_43 = (type_2 *)((int)var_30 + (int)var_32 * 0xc);
      if (var_30 < var_43) {
        var_44 = *var_30;
        var_45 = var_30;
        while (var_41 != var_44) {
          var_45 = (type_2 *)((int)var_45 + 0xc);
          if (var_43 <= var_45) goto LAB_00058864;
          var_44 = *var_45;
        }
        puVar3 = section->start;
        var_51 = (char *)var_14(0,
                                   "Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"
                                   ,5);
        var_15(var_51,(int)var_41,(int)var_4 - (int)puVar3);
      }
LAB_00058864:
      var_32 = (int *)((int)var_32 + 1);
      *var_43 = var_41;
      *(type_3 **)(var_43 + 1) = var_34;
      var_39(var_34,&var_40,0,(type_3 *)var_5);
      var_34 = var_34 + var_40;
      do {
        var_41 = var_39(var_34,&var_40,0,(type_3 *)var_5);
        var_34 = var_34 + var_40;
        var_44 = var_39(var_34,&var_40,0,(type_3 *)var_5);
        var_34 = var_34 + var_40;
      } while (var_41 != 0 || var_44 != 0);
    }
    in_stack_ffffff58 = "\nSymbol table:\n";
    var_51 = (char *)var_14(0,"\nSymbol table:\n",5);
    var_18(var_51);
    if (var_22 != 0) {
      var_43 = (type_2 *)((int)var_30 + (int)var_32 * 0xc);
      var_33 = 0;
LAB_000589d0:
      var_17 = var_23;
      if (((int *)((int)var_46 + var_23) < var_16) ||
         ((var_46 < var_16 &&
          (var_17 = (int)var_16 - (int)var_46, ((int)var_16 - (int)var_46) - 1U < 8)))) {
        (*byte_get)((type_3 *)var_46,var_17);
      }
      var_17 = var_23;
      if (((int *)((int)var_47 + var_23) < var_16) ||
         ((local_64 = var_5, var_47 < var_16 &&
          (var_17 = (int)var_16 - (int)var_47, ((int)var_16 - (int)var_47) - 1U < 8)))) {
        var_25 = (*byte_get)((type_3 *)var_47,var_17);
        local_64 = (int *)((int)var_25 + (int)var_5);
      }
      var_34 = var_48(in_stack_ffffff64);
      var_18("[%3u] #%08x %s:",var_33,var_37[var_33],var_34);
      var_21 = local_64;
      local_6c = 0xffffffffffffffff;
      var_32 = (int *)0xfffffffe;
      do {
        while( true ) {
          var_41 = var_39((type_3 *)var_21,&var_40,0,(type_3 *)var_16);
          var_17 = var_40;
          if (var_32 != (int *)0xffffffff) break;
          var_21 = local_64;
          var_32 = (int *)0x0;
          local_6c = var_41;
        }
        if (var_41 == 0) goto LAB_00058b8d;
        if (-1 < (int)var_32) {
          if (var_32 == (int *)0x0) {
            puVar13 = &DAT_0007c3bc;
            if ((int)local_6c != 0 || local_6c._4_4_ != 0) goto LAB_00058d60;
          }
          else {
LAB_00058d60:
            puVar13 = &DAT_0007bc58;
          }
          var_18("%s<%lu>",puVar13,(int)var_41);
        }
        if (var_43 <= var_30) goto LAB_00058b50;
        var_44 = *var_30;
        var_45 = var_30;
        while (var_41 != var_44) {
          var_45 = (type_2 *)((int)var_45 + 0xc);
          if (var_43 <= var_45) goto LAB_00058b50;
          var_44 = *var_45;
        }
        var_34 = *(type_3 **)(var_45 + 1);
        var_41 = var_39(var_34,&var_40,0,(type_3 *)var_5);
        var_34 = var_34 + var_40;
        if (-1 < (int)var_32) {
          var_51 = var_49((type_11)var_41);
          var_18(" %s",var_51);
        }
        var_21 = (int *)((int)var_21 + var_17);
        while( true ) {
          var_41 = var_39(var_34,&var_40,0,(type_3 *)var_5);
          var_34 = var_34 + var_40;
          var_44 = var_39(var_34,&var_40,0,(type_3 *)var_5);
          var_34 = var_34 + var_40;
          if (var_41 == 0 && var_44 == 0) break;
          if (-1 < (int)var_32) {
            var_51 = var_50((type_6)var_41);
            if (var_51 == (char *)0x0) {
              var_51 = (char *)var_14(0,"Unknown IDX value: %lx",5);
              var_52(buffer_10366,100,var_51,(type_6)var_41);
              var_51 = buffer_10366;
            }
            var_18(" %s",var_51);
          }
          var_21 = (int *)var_53
                                      (0,(type_11)var_44,0,(type_3 *)var_21,(type_3 *)var_16,0,0,
                                       (type_10)var_23,5,(type_12 *)0x0,
                                       (type_6)var_32 >> 0x1f,(type_1 *)0x0,(type_13 *)0x0,
                                       '=');
        }
        var_32 = (int *)((int)var_32 + 1);
      } while( true );
    }
LAB_00058bc3:
    var_54(var_30);
    var_4 = var_16;
  } while( true );
LAB_00058b50:
  var_34 = section->start;
  var_51 = (char *)var_14(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5
                            );
  var_15(var_51,(int)var_41,(int)var_4 - (int)var_34);
LAB_00058b8d:
  if ((int)var_32 < 1) {
    var_51 = (char *)var_14(0," <no entries>",5);
    var_18(var_51);
  }
  in_stack_ffffff58 = *(char **)puVar4;
  var_27(10,(type_5 *)in_stack_ffffff58);
  var_33 = var_33 + 1;
  var_47 = (int *)((int)var_47 + var_23);
  var_46 = (int *)((int)var_46 + var_23);
  if (var_33 == var_22) goto LAB_00058bc3;
  goto LAB_000589d0;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) 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: (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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator 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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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 (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (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: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier)))))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (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))))) right: (identifier)) right: (binary_expression left: (binary_expression left: (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))))) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (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))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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: (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: (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 (identifier) (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) (identifier)))) (return_statement (number_literal)))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (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: (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 (identifier) (number_literal)))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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 (identifier)))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) (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) (string_literal (string_content) (escape_sequence)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal))))))) consequence: (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: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (goto_statement label: (statement_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 (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal))))))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (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: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_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: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_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: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier))))) (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: (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 (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))))))) (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) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_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: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier)))))) (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: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (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) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (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) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (binary_expression left: (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: (identifier)))) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (number_literal)) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (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) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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 (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (binary_expression left: (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: (identifier)))) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (number_literal)) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (identifier))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (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) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (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: (type_identifier) 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: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) consequence: (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) (string_literal (string_content)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (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: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (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: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (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: (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 (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (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))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (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: (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) (string_literal (string_content) (escape_sequence)) (string_literal (string_content) (escape_sequence)) (identifier) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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)))) (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))) consequence: (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: (identifier) right: (number_literal)))) (expression_statement (assignment_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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_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: (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) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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 (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (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: (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 (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))))) (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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (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: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) (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) (string_literal (escape_sequence) (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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: (identifier)))) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (number_literal)) right: (number_literal))))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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: (identifier)))) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (number_literal)) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))) (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: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (identifier) (subscript_expression argument: (identifier) index: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) (identifier) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (identifier)))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (break_statement)) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (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 (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: (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 (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (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) (identifier) (identifier) (number_literal) (number_literal) (number_literal) (number_literal) (identifier) (number_literal) (number_literal) (number_literal) (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) (number_literal) (number_literal) (number_literal)))))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (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: (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 (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (true))))))

/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

undefined4 MASKED(int param_1)

{
  longlong *plVar1;
  int *piVar2;
  uint uVar3;
  ulonglong uVar4;
  longlong lVar5;
  undefined *puVar6;
  ushort uVar7;
  short sVar8;
  int iVar9;
  char *pcVar10;
  undefined4 uVar11;
  undefined4 uVar12;
  undefined4 uVar13;
  uint uVar14;
  int *piVar15;
  int *piVar16;
  longlong *plVar17;
  undefined *puVar18;
  uint *puVar19;
  int iVar20;
  uint uVar21;
  int *piVar22;
  int *piVar23;
  uint *puVar24;
  longlong lVar25;
  undefined8 uVar26;
  undefined8 uVar27;
  longlong lVar28;
  int local_94;
  int *local_8c;
  int *local_88;
  int *local_80;
  int local_7c;
  int local_78;
  longlong *local_74;
  uint local_70;
  int local_6c;
  int local_68;
  int *local_64;
  int local_60;
  int *local_50;
  int *local_4c;
  int local_44;
  int local_20 [4];
  
  piVar2 = *(int **)(param_1 + 0x10);
  piVar23 = (int *)((int)piVar2 + *(int *)(param_1 + 0x1c));
  FUN_0004eb10();
  FUN_0004e110();
  do {
    if (piVar23 <= piVar2) {
      return 1;
    }
    piVar16 = piVar2 + 1;
    piVar15 = piVar16;
    if (piVar16 < piVar23) {
      iVar9 = 4;
LAB_00058065:
      lVar25 = (*DAT_000b9dd4)(piVar2,iVar9);
      local_7c = 4;
      if (lVar25 == 0xffffffff) {
        piVar15 = piVar2 + 3;
        if (piVar15 < piVar23) {
          iVar9 = 8;
        }
        else if ((piVar23 <= piVar16) || (iVar9 = (int)piVar23 - (int)piVar16, 7 < iVar9 - 1U)) {
          local_7c = 8;
          goto LAB_00057fac;
        }
        lVar25 = (*DAT_000b9dd4)(piVar16,iVar9);
        local_7c = 8;
      }
      local_94 = (int)lVar25;
      local_80 = (int *)((int)piVar15 + local_94);
      uVar14 = (int)piVar15 - *(int *)(param_1 + 0x10);
      uVar4 = lVar25 + (ulonglong)uVar14;
      if ((uint)(uVar4 >> 0x20) < (uint)((uint)uVar4 < uVar14)) goto LAB_000580cc;
    }
    else {
      iVar9 = (int)piVar23 - (int)piVar2;
      if (iVar9 - 1U < 8) goto LAB_00058065;
      local_7c = 4;
LAB_00057fac:
      local_94 = 0;
      uVar4 = (ulonglong)(uint)((int)piVar15 - *(int *)(param_1 + 0x10));
      local_80 = piVar15;
    }
    uVar14 = (uint)(uVar4 >> 0x20);
    if (*(uint *)(param_1 + 0x20) < uVar14 ||
        *(uint *)(param_1 + 0x20) - uVar14 < (uint)(*(uint *)(param_1 + 0x1c) < (uint)uVar4)) {
LAB_000580cc:
      uVar12 = FUN_0004cb30(0);
      iVar9 = *(int *)(param_1 + 0x10);
      uVar11 = *(undefined4 *)(param_1 + 8);
      uVar13 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);
      warn(uVar13,uVar11,(int)piVar2 - iVar9,uVar12);
      return 0;
    }
    piVar16 = (int *)((int)piVar15 + 2);
    if (piVar16 < local_80) {
      iVar9 = 2;
    }
    else if ((local_80 <= piVar15) || (iVar9 = local_94, 7 < local_94 - 1U)) {
      pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);
      printf(pcVar10,0);
      goto LAB_00058029;
    }
    uVar7 = (*DAT_000b9dd4)(piVar15,iVar9);
    pcVar10 = (char *)dcgettext(0,"Version %ld\n",5);
    printf(pcVar10,(uint)uVar7);
    if (uVar7 != 5) {
LAB_00058029:
      uVar11 = dcgettext(0,"Only DWARF version 5 .debug_names is currently supported.\n",5);
      warn(uVar11);
      return 0;
    }
    piVar22 = piVar15 + 1;
    if (piVar22 < local_80) {
      local_94 = 2;
LAB_00058e95:
      sVar8 = (*DAT_000b9dd4)(piVar16,local_94);
      if (sVar8 != 0) {
        uVar11 = dcgettext(0,"Padding field of .debug_names must be 0 (found 0x%x)\n",5);
        warn(uVar11,sVar8);
      }
      if (piVar15 + 2 < local_80) {
LAB_000581ba:
        iVar9 = 4;
      }
      else if ((local_80 <= piVar22) || (iVar9 = (int)local_80 - (int)piVar22, 7 < iVar9 - 1U))
      goto LAB_000581d8;
      local_88 = (int *)(*DAT_000b9dd4)(piVar22,iVar9);
      if (local_88 == (int *)0x0) goto LAB_000581d8;
    }
    else {
      if ((piVar16 < local_80) && (local_94 - 3U < 8)) {
        local_94 = local_94 + -2;
        goto LAB_00058e95;
      }
      if (piVar15 + 2 < local_80) goto LAB_000581ba;
LAB_000581d8:
      uVar11 = dcgettext(0,"Compilation unit count must be >= 1 in .debug_names\n",5);
      warn(uVar11);
      local_88 = (int *)0x0;
    }
    piVar22 = piVar15 + 2;
    piVar16 = piVar15 + 3;
    if (piVar16 < local_80) {
      iVar9 = 4;
LAB_00058ee1:
      local_78 = (*DAT_000b9dd4)(piVar22,iVar9);
      if (piVar15 + 4 < local_80) {
LAB_00058f20:
        iVar9 = 4;
      }
      else if ((local_80 <= piVar16) || (iVar9 = (int)local_80 - (int)piVar16, 7 < iVar9 - 1U))
      goto LAB_0005823a;
      local_74 = (longlong *)(*DAT_000b9dd4)(piVar16,iVar9);
      if (piVar15 + 5 < local_80) goto LAB_00058f60;
      if ((piVar15 + 4 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 4), iVar9 - 1U < 8))
      goto LAB_00058f65;
LAB_0005824f:
      local_64 = (int *)0x0;
      local_70 = 0;
      if (local_80 <= piVar15 + 6) goto LAB_0005826c;
LAB_00058e1a:
      iVar9 = 4;
LAB_00058e1f:
      piVar16 = piVar15 + 6;
      local_44 = (*DAT_000b9dd4)(piVar15 + 5,iVar9);
      local_60 = local_44 * 4;
      local_68 = local_44 * local_7c;
      if (piVar15 + 7 < local_80) goto LAB_00058df0;
      if (local_80 <= piVar16) {
LAB_00058291:
        if (piVar15 + 8 < local_80) {
          local_6c = 0;
          iVar9 = 4;
          goto LAB_000582ab;
        }
        local_6c = 0;
        goto LAB_0005838d;
      }
      uVar14 = ((int)local_80 - (int)piVar16) - 1;
      if (7 < uVar14) goto LAB_00058291;
      local_6c = (*DAT_000b9dd4)(piVar16,(int)local_80 - (int)piVar16,uVar14,uVar14);
      if (local_80 <= piVar15 + 8) goto LAB_0005838d;
LAB_00058e10:
      iVar9 = 4;
LAB_000582ab:
      local_8c = piVar15 + 8;
      uVar14 = (*DAT_000b9dd4)(piVar15 + 7,iVar9);
      if ((uVar14 & 3) != 0) {
        uVar11 = dcgettext(0,
                           "Augmentation string length %u must be rounded up to a multiple of 4 in .debug_names.\n"
                           ,5);
        warn(uVar11,uVar14);
        uVar14 = uVar14 + (-uVar14 & 3);
      }
      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);
      printf(pcVar10);
      if (uVar14 != 0) {
        piVar16 = (int *)((int)local_8c + uVar14);
        piVar15 = local_8c;
        do {
          piVar22 = (int *)((int)piVar15 + 1);
          if (piVar22 < local_80) {
            iVar9 = 1;
LAB_00058368:
            uVar14 = (*DAT_000b9dd4)(piVar15,iVar9);
            uVar14 = uVar14 & 0xff;
          }
          else {
            uVar14 = 0;
            if ((piVar15 < local_80) && (iVar9 = (int)local_80 - (int)piVar15, iVar9 - 1U < 8))
            goto LAB_00058368;
          }
          printf(" %02x",uVar14);
          piVar15 = piVar22;
          local_8c = piVar16;
        } while (piVar22 != piVar16);
      }
    }
    else {
      if ((piVar22 < local_80) && (iVar9 = (int)local_80 - (int)piVar22, iVar9 - 1U < 8))
      goto LAB_00058ee1;
      local_78 = 0;
      if (piVar15 + 4 < local_80) goto LAB_00058f20;
LAB_0005823a:
      local_74 = (longlong *)0x0;
      if (local_80 <= piVar15 + 5) goto LAB_0005824f;
LAB_00058f60:
      iVar9 = 4;
LAB_00058f65:
      local_70 = (*DAT_000b9dd4)(piVar15 + 4,iVar9);
      local_64 = (int *)(local_70 << 2);
      if (piVar15 + 6 < local_80) goto LAB_00058e1a;
      if ((piVar15 + 5 < local_80) && (iVar9 = (int)local_80 - (int)(piVar15 + 5), iVar9 - 1U < 8))
      goto LAB_00058e1f;
LAB_0005826c:
      local_68 = 0;
      local_60 = 0;
      local_44 = 0;
      if (local_80 <= piVar15 + 7) goto LAB_00058291;
LAB_00058df0:
      local_6c = (*DAT_000b9dd4)(piVar15 + 6,4);
      if (piVar15 + 8 < local_80) goto LAB_00058e10;
      iVar9 = (int)local_80 - (int)(piVar15 + 7);
      if (iVar9 - 1U < 8) goto LAB_000582ab;
LAB_0005838d:
      local_8c = piVar15 + 8;
      pcVar10 = (char *)dcgettext(0,"Augmentation string:",5);
      printf(pcVar10);
    }
    puVar6 = PTR_stdout_000b3fd8;
    putc(10,*(FILE **)PTR_stdout_000b3fd8);
    putc(10,*(FILE **)puVar6);
    pcVar10 = (char *)dcgettext(0,"CU table:\n",5);
    printf(pcVar10);
    if (local_88 != (int *)0x0) {
      piVar16 = local_8c;
      iVar9 = 0;
      do {
        piVar15 = (int *)((int)piVar16 + local_7c);
        iVar20 = local_7c;
        if ((piVar15 < local_80) ||
           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&
            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {
          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);
        }
        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);
        iVar20 = iVar9 + 1;
        printf(pcVar10,iVar9,uVar11);
        piVar16 = piVar15;
        iVar9 = iVar20;
      } while (local_88 != (int *)iVar20);
      local_8c = (int *)((int)local_8c + (int)local_88 * local_7c);
    }
    putc(10,*(FILE **)puVar6);
    pcVar10 = (char *)dcgettext(0,"TU table:\n",5);
    printf(pcVar10);
    if (local_78 != 0) {
      piVar16 = local_8c;
      iVar9 = 0;
      do {
        piVar15 = (int *)((int)piVar16 + local_7c);
        iVar20 = local_7c;
        if ((piVar15 < local_80) ||
           ((uVar11 = 0, (int *)((int)piVar15 - local_7c) < local_80 &&
            (iVar20 = (int)local_80 - (int)piVar16, ((int)local_80 - (int)piVar16) - 1U < 8)))) {
          uVar11 = (*DAT_000b9dd4)(piVar16,iVar20);
        }
        pcVar10 = (char *)dcgettext(0,"[%3u] 0x%lx\n",5);
        iVar20 = iVar9 + 1;
        printf(pcVar10,iVar9,uVar11);
        piVar16 = piVar15;
        iVar9 = iVar20;
      } while (iVar20 != local_78);
      local_8c = (int *)((int)local_8c + iVar20 * local_7c);
    }
    putc(10,*(FILE **)puVar6);
    pcVar10 = (char *)dcgettext(0,"Foreign TU table:\n",5);
    printf(pcVar10);
    if (local_74 != (longlong *)0x0) {
      piVar16 = local_8c;
      iVar9 = 0;
      do {
        if (piVar16 + 2 < local_80) {
          iVar20 = 8;
LAB_0005862e:
          (*DAT_000b9dd4)(piVar16,iVar20);
        }
        else if ((piVar16 < local_80) && (iVar20 = (int)local_80 - (int)piVar16, iVar20 - 1U < 8))
        goto LAB_0005862e;
        pcVar10 = (char *)dcgettext(0,"[%3u] ",5);
        iVar20 = iVar9 + 1;
        printf(pcVar10,iVar9);
        FUN_0004ce40();
        putc(10,*(FILE **)puVar6);
        piVar16 = piVar16 + 2;
        iVar9 = iVar20;
      } while ((longlong *)iVar20 != local_74);
      local_8c = local_8c + iVar20 * 2;
    }
    putc(10,*(FILE **)puVar6);
    puVar24 = (uint *)((int)local_64 + (int)local_8c);
    local_4c = (int *)(local_60 + (int)puVar24);
    local_50 = (int *)((int)local_4c + local_68);
    local_68 = local_68 + (int)local_50;
    piVar16 = (int *)(local_6c + local_68);
    if (local_80 < piVar16) {
      iVar9 = *(int *)(param_1 + 0x10);
      uVar11 = dcgettext(0,
                         "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the debug_names\n"
                         ,5);
      warn(uVar11,(int)piVar16 - iVar9,(int)local_80 - iVar9,(int)piVar2 - iVar9);
      return 0;
    }
    iVar9 = 0;
    if (local_70 != 0) {
      iVar9 = 0;
      piVar15 = local_8c + local_70;
      do {
        iVar9 = (iVar9 + 1) - (uint)(*local_8c == 0);
        local_8c = local_8c + 1;
      } while (piVar15 != local_8c);
    }
    pcVar10 = (char *)dcngettext(0,"Used %zu of %lu bucket.\n","Used %zu of %lu buckets.\n",local_70
                                 ,5);
    printf(pcVar10,iVar9,local_70);
    if (local_44 == 0) {
      local_88 = (int *)0x0;
      local_78 = 0;
    }
    else {
      local_88 = (int *)0x0;
      local_78 = 0;
      uVar21 = 0;
      uVar14 = *puVar24;
      puVar19 = puVar24;
      while (puVar19 = puVar19 + 1, puVar24 + local_44 != puVar19) {
        uVar3 = *puVar19;
        if (uVar14 % local_70 == uVar3 % local_70) {
          uVar21 = uVar21 + 1;
          local_78 = local_78 + 1;
          uVar14 = uVar3;
          if (local_88 < uVar21) {
            local_88 = (int *)uVar21;
          }
        }
        else {
          uVar21 = 0;
          uVar14 = uVar3;
        }
      }
      iVar9 = iVar9 + local_78;
    }
    pcVar10 = (char *)dcgettext(0,
                                "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"
                                ,5);
    printf(pcVar10,local_44,local_78,local_88);
    if (local_44 != iVar9) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("name_count == buckets_filled + hash_clash_count","../../binutils/dwarf.c",
                    0x216a,"display_debug_names");
    }
    local_88 = (int *)0x0;
    local_74 = (longlong *)0x0;
    local_8c = (int *)0x0;
    while( true ) {
      lVar25 = FUN_0004f910(local_68,local_20,0,piVar16);
      local_68 = local_68 + local_20[0];
      if (lVar25 == 0) break;
      if (local_8c == local_88) {
        local_88 = (int *)((int)local_8c * 2);
        if (local_88 < 0x100) {
          local_88 = (int *)0x100;
        }
        local_74 = (longlong *)FUN_0006b060(local_74,(int)local_88 * 0xc);
      }
      if (local_88 <= local_8c) {
                    /* WARNING: Subroutine does not return */
        __assert_fail("abbrev_lookup_used < abbrev_lookup_allocated","../../binutils/dwarf.c",0x2186
                      ,"display_debug_names");
      }
      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);
      if (local_74 < plVar1) {
        lVar28 = *local_74;
        plVar17 = local_74;
        while (lVar25 != lVar28) {
          plVar17 = (longlong *)((int)plVar17 + 0xc);
          if (plVar1 <= plVar17) goto LAB_00058864;
          lVar28 = *plVar17;
        }
        iVar9 = *(int *)(param_1 + 0x10);
        uVar11 = dcgettext(0,"Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);
        warn(uVar11,(int)lVar25,(int)piVar2 - iVar9);
      }
LAB_00058864:
      local_8c = (int *)((int)local_8c + 1);
      *plVar1 = lVar25;
      *(int *)(plVar1 + 1) = local_68;
      FUN_0004f910(local_68,local_20,0,piVar16);
      local_68 = local_68 + local_20[0];
      do {
        uVar26 = FUN_0004f910(local_68,local_20,0,piVar16);
        local_68 = local_68 + local_20[0];
        uVar27 = FUN_0004f910(local_68,local_20,0,piVar16);
        local_68 = local_68 + local_20[0];
      } while (((int)((ulonglong)uVar27 >> 0x20) != 0 || (int)((ulonglong)uVar26 >> 0x20) != 0) ||
               ((int)uVar27 != 0 || (int)uVar26 != 0));
    }
    pcVar10 = (char *)dcgettext(0,"\nSymbol table:\n",5);
    printf(pcVar10);
    if (local_44 != 0) {
      plVar1 = (longlong *)((int)local_74 + (int)local_8c * 0xc);
      local_60 = 0;
      do {
        iVar9 = local_7c;
        if (((int *)((int)local_4c + local_7c) < local_80) ||
           ((local_4c < local_80 &&
            (iVar9 = (int)local_80 - (int)local_4c, ((int)local_80 - (int)local_4c) - 1U < 8)))) {
          (*DAT_000b9dd4)(local_4c,iVar9);
        }
        iVar9 = local_7c;
        if (((int *)((int)local_50 + local_7c) < local_80) ||
           ((local_64 = piVar16, local_50 < local_80 &&
            (iVar9 = (int)local_80 - (int)local_50, ((int)local_80 - (int)local_50) - 1U < 8)))) {
          iVar9 = (*DAT_000b9dd4)(local_50,iVar9);
          local_64 = (int *)(iVar9 + (int)piVar16);
        }
        uVar11 = FUN_0004e530();
        printf("[%3u] #%08x %s:",local_60,puVar24[local_60],uVar11);
        local_88 = local_64;
        local_8c = (int *)0xfffffffe;
        lVar25 = -1;
        while( true ) {
          while( true ) {
            lVar28 = FUN_0004f910(local_88,local_20,0,local_80);
            iVar9 = local_20[0];
            if (local_8c != (int *)0xffffffff) break;
            local_88 = local_64;
            local_8c = (int *)0x0;
            lVar25 = lVar28;
          }
          if (lVar28 == 0) goto LAB_00058b8d;
          if (-1 < (int)local_8c) {
            if ((local_8c != (int *)0x0) || (puVar18 = &DAT_0007c3bc, lVar25 != 0)) {
              puVar18 = &DAT_0007bc58;
            }
            printf("%s<%lu>",puVar18,(int)lVar28);
          }
          if (plVar1 <= local_74) break;
          lVar5 = *local_74;
          plVar17 = local_74;
          while (lVar28 != lVar5) {
            plVar17 = (longlong *)((int)plVar17 + 0xc);
            if (plVar1 <= plVar17) goto LAB_00058b50;
            lVar5 = *plVar17;
          }
          lVar28 = plVar17[1];
          FUN_0004f910((int)lVar28,local_20,0,piVar16);
          iVar20 = (int)lVar28 + local_20[0];
          if (-1 < (int)local_8c) {
            uVar11 = FUN_0004e710();
            printf(" %s",uVar11);
          }
          local_88 = (int *)((int)local_88 + iVar9);
          while( true ) {
            uVar26 = FUN_0004f910(iVar20,local_20,0,piVar16);
            iVar9 = (int)uVar26;
            iVar20 = iVar20 + local_20[0];
            uVar27 = FUN_0004f910(iVar20,local_20,0,piVar16);
            iVar20 = iVar20 + local_20[0];
            if (((int)((ulonglong)uVar26 >> 0x20) == 0 && (int)((ulonglong)uVar27 >> 0x20) == 0) &&
                ((int)uVar27 == 0 && iVar9 == 0)) break;
            if (-1 < (int)local_8c) {
              puVar18 = (undefined *)FUN_0006ad50(iVar9);
              if (puVar18 == (undefined *)0x0) {
                pcVar10 = (char *)dcgettext(0,"Unknown IDX value: %lx",5);
                snprintf(&DAT_000b7660,100,pcVar10,iVar9);
                puVar18 = &DAT_000b7660;
              }
              printf(" %s",puVar18);
            }
            local_88 = (int *)FUN_00053040(0,0,local_88,local_80,0,0,0,0,local_7c,0,5,0,
                                           (uint)local_8c >> 0x1f,0,0,0x3d);
          }
          local_8c = (int *)((int)local_8c + 1);
        }
LAB_00058b50:
        iVar9 = *(int *)(param_1 + 0x10);
        uVar11 = dcgettext(0,"Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n",5);
        warn(uVar11,(int)lVar28,(int)piVar2 - iVar9);
LAB_00058b8d:
        if ((int)local_8c < 1) {
          pcVar10 = (char *)dcgettext(0," <no entries>",5);
          printf(pcVar10);
        }
        putc(10,*(FILE **)puVar6);
        local_60 = local_60 + 1;
        local_50 = (int *)((int)local_50 + local_7c);
        local_4c = (int *)((int)local_4c + local_7c);
      } while (local_60 != local_44);
    }
    free(local_74);
    piVar2 = local_80;
  } while( true );
}

